Fehler bei der SSH-Verbindungsfreigabe für Mac OS X Lion Terminal

12

Ich erhalte manchmal die folgende Fehlermeldung, wenn ich versuche, auf einen Remote-Host zu ssh:

mux_client_request_session: read from master failed: Broken pipe

Ich verwende Macbook Air OS X Lion mit diesem in ~ / .ssh / config:

ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r

ControlPersist 4h

ForwardAgent yes

Host [ex]
    HostName [example.com]
    User [somedude]

Der obige Fehler tritt auf, wenn ich Folgendes tue:

ssh ex

Das Terminal bleibt ca. 1 Minute lang hängen und zeigt dann Folgendes an:

mux_client_request_session: read from master failed: Broken pipe
[email protected]'s password:

Ich gebe mein Passwort ein und es ist in Ordnung. Und wenn ich eine andere Registerkarte "Terminal" öffne, ist die gemeinsame Nutzung von Verbindungen ebenfalls in Ordnung. Wie kann ich das beheben? Es ist nicht schrecklich, aber es ist nervig.

David Xia
quelle
Können Sie sich von Ihrem MacBook Air aus bei anderen Remote-Computern anmelden? Können sich andere Computer bei [email protected] anmelden?
Jessh

Antworten:

14

Sie haben ControlPersistaktiviert. Meine Vermutung ist, dass Folgendes passiert:

  1. Sie haben eine Verbindung zu example.com
  2. Abmelden, aber da diese Option ControlPersistaktiviert ist, bleibt die Sitzung für zukünftige Verbindungen geöffnet.
  3. Bei Ihrer Netzwerkverbindung ist ein Fehler aufgetreten, sodass die Verbindung dauerhaft unterbrochen wird.
  4. Wenn Sie ssh [email protected]erneut ausführen , wird versucht, die Verbindung aus Schritt 2 wiederzuverwenden, und nach dem Timeout wird eine neue Verbindung geöffnet.

Laut dieser Option ist für dieses Timeout keine separate Option verfügbar man ssh_config. Um dies zu vermeiden, verwenden Sie nicht ControlPersist. Darüber hinaus empfehle ich dringend, wenn möglich die Anmeldung mit öffentlichem Schlüssel zu verwenden. Sie können weiterhin eine Passphrase für Ihren öffentlichen Schlüssel verwenden, aber der öffentliche Schlüssel verhindert effektiv, dass Ihr Kennwort über eine SSH-Verbindung brutal erzwungen wird.

Außerdem sollten Sie keine Steuerdateien unter speichern /tmp. Diese sollten / müssen gesichert werden, und dafür ist zum Beispiel ~/.ssh/master/ssh_mux_%h_%p_%reine viel bessere Lage. Wenn Sie der einzige Benutzer Ihres Laptops sind (?), Ist das natürlich kein allzu großes Problem.

Olli
quelle