J'obtiens parfois cette erreur lorsque j'essaie de ssh vers un hôte distant:
mux_client_request_session: read from master failed: Broken pipe
J'utilise Macbook Air OS X Lion avec ceci dans ~ / .ssh / config:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
ForwardAgent yes
Host [ex]
HostName [example.com]
User [somedude]
L'erreur ci-dessus se produit lorsque je le fais:
ssh ex
Le terminal se bloque pendant environ 1 minute, puis affiche:
mux_client_request_session: read from master failed: Broken pipe
[email protected]'s password:
Je tape mon mot de passe et ça va. Et si j'ouvre un autre onglet Terminal, le partage de connexion est également correct. Comment puis-je réparer cela? Ce n'est pas terrible, mais c'est ennuyeux.
ssh
terminal
connection-sharing
macbook-air
David Xia
la source
la source
Réponses:
Vous avez
ControlPersist
activé. Ma supposition éclairée est que ce qui suit se produit:ControlPersist
est activé, la session reste ouverte pour les futures connexions.ssh [email protected]
nouveau, il essaie de réutiliser la connexion de l'étape 2 et ouvre une nouvelle connexion après expiration du délai.Selon, aucune option distincte pour ce délai n'est disponible
man ssh_config
. Pour éviter cela, ne l'utilisez pasControlPersist
. De plus, je recommande fortement d'utiliser la connexion par clé publique, si possible. Vous pouvez toujours avoir une phrase secrète pour votre clé publique, mais la clé publique empêche efficacement le forçage brut de votre mot de passe sur la connexion SSH.En outre, vous ne devez pas stocker de fichiers de contrôle sous
/tmp
. Ceux-ci doivent / doivent être sécurisés, et pour cela, par exemple,~/.ssh/master/ssh_mux_%h_%p_%r
c'est un meilleur emplacement. Bien sûr, si vous êtes le seul utilisateur de votre ordinateur portable (?), Ce n'est pas un gros problème.la source