A veces recibo este error cuando intento ssh a un host remoto:
mux_client_request_session: read from master failed: Broken pipe
Estoy usando Macbook Air OS X Lion con esto en ~ / .ssh / config:
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
ForwardAgent yes
Host [ex]
HostName [example.com]
User [somedude]
El error anterior ocurre cuando lo hago:
ssh ex
El terminal se cuelga durante ~ 1 min y luego muestra:
mux_client_request_session: read from master failed: Broken pipe
[email protected]'s password:
Escribo mi contraseña y está bien. Y si abro otra pestaña de Terminal, la conexión compartida también está bien. ¿Cómo puedo arreglar esto? No es terrible, pero es molesto.
ssh
terminal
connection-sharing
macbook-air
David Xia
fuente
fuente
Respuestas:
Has
ControlPersist
habilitado. Mi conjetura es que sucede lo siguiente:ControlPersist
está habilitado, la sesión se mantiene abierta para futuras conexiones.ssh [email protected]
vuelve a ejecutar , intenta reutilizar la conexión del paso 2 y abre una nueva conexión después del tiempo de espera.No hay una opción separada para este tiempo de espera disponible, según
man ssh_config
. Para evitar esto, no lo useControlPersist
. Además, recomiendo usar el inicio de sesión con clave pública, si es posible. Aún puede tener una frase de contraseña para su clave pública, pero la clave pública efectivamente evita que su contraseña se fuerce por la conexión SSH.Además, no debe almacenar archivos de control en
/tmp
. Esos deben / deben estar asegurados, y para eso, por ejemplo,~/.ssh/master/ssh_mux_%h_%p_%r
es una ubicación mucho mejor. Por supuesto, si usted es el único usuario de su computadora portátil (?), Ese no es un problema demasiado grande.fuente