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.
ssh
terminal
connection-sharing
macbook-air
David Xia
quelle
quelle
Antworten:
Sie haben
ControlPersist
aktiviert. Meine Vermutung ist, dass Folgendes passiert:ControlPersist
aktiviert ist, bleibt die Sitzung für zukünftige Verbindungen geöffnet.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 nichtControlPersist
. 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_%r
eine viel bessere Lage. Wenn Sie der einzige Benutzer Ihres Laptops sind (?), Ist das natürlich kein allzu großes Problem.quelle