Erreur de partage de connexion SSH du terminal Lion de Mac OS X

12

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.

David Xia
la source
Pouvez-vous vous connecter à d'autres machines distantes depuis votre MacBook Air? D'autres machines peuvent-elles se connecter à [email protected]?
jessh

Réponses:

14

Vous avez ControlPersistactivé. Ma supposition éclairée est que ce qui suit se produit:

  1. Vous êtes connecté à example.com
  2. Déconnectez-vous, mais comme il ControlPersistest activé, la session reste ouverte pour les futures connexions.
  3. Quelque chose ne va pas avec votre connexion réseau et, par conséquent, une rupture de connexion persistante.
  4. Lorsque vous exécutez à 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 pas ControlPersist. 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_%rc'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.

Olli
la source