Tenía un inicio de sesión basado en clave ssh que funcionaba bien. Luego, cambié el nombre de host en mi computadora, y el inicio de sesión basado en clave dejó de funcionar. Parecía tener sentido. las claves probablemente se basaron en mi antiguo nombre de host. Entonces, eliminé todas mis claves y todos los archivos en ~ / .ssh / y los volví a generar (y cambié las claves autorizadas en los servidores a los que me conecto)
Ahora, cada vez que intento ssh, simplemente se cuelga sin la solicitud de contraseña, sin importar a dónde intente ssh, incluso en servidores en los que no tengo configurado un inicio de sesión basado en claves. No hay nada en .ssh / config.
Además, cuando 'su -' a root, ssh funciona perfectamente. sin problemas en absoluto. Esto solo ocurre en mi cuenta de usuario.
A continuación se muestra información de depuración de ssh
ssh -vv [email protected] OpenSSH_5.2p1, OpenSSL 0.9.8k 25 de marzo de 2009 debug1: lectura de datos de configuración /Users/myname/.ssh/config debug1: lectura de datos de configuración / usr / etc / ssh_config ...... debug1: el host 'myremoteserver.com' es conocido y coincide con la clave de host RSA. debug1: clave encontrada en /Users/myname/.ssh/known_hosts:1 debug2: conjunto de bits: 512/1024 debug1: ssh_rsa_verify: firma correcta debug2: kex_derive_keys debug2: set_newkeys: modo 1 debug1: SSH2_MSG_NEWKEYS enviados debug1: esperando SSH2_MSG_NEWKEYS debug2: set_newkeys: modo 0 debug1: SSH2_MSG_NEWKEYS recibidos debug1: SSH2_MSG_SERVICE_REQUEST enviado debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT recibido
Y luego simplemente cuelga aquí .....
Aquí está la salida dtruss (como strace pero para OSX) cerca del final donde cuelga: sudo dtruss ssh -vv [email protected]
seleccionar (0x4, 0x508200, 0x0, 0x0, 0x0) = 1 0 leer (0x3, "$ \ 222 \ 351 {L \ 363 \ 261 \ 25063sN \ 216 \ 300 @ q7 \ 203 \ 276b \ 257 \ 354 \ 337 \ 356 \ 260! {\ 342 \ 017 \ 271 = \ 222, \ 245 \ 347t \ 006 \ 225 \ 257 \ 333; \ 204 \ 020] \ 242 \ 005z # \ 0 ", 0x2000) = 48 0 escribir (0x2, "debug2: service_accept: ssh-userauth \ r \ n \ 0", 0x26) = 38 0 conectar (0x4, 0xBFFFEEA2, 0x6A) = 0 0 escribir (0x4, "\ 0", 0x4) = 4 0 escribir (0x4, "\ v5 \ 004 \ 0", 0x1) = 1 0 leer (0x4, "\ 0", 0x4) = -1 Err # 4
Parece estar intentando leer algo y simplemente se cuelga de esto. Si alguien tiene alguna sugerencia o idea, ¡estaría muy agradecido!
Respuestas:
La razón por la que su cliente ssh se bloquea para su cuenta pero no para otras cuentas (root) es probablemente porque hay algo mal con su agente ssh. O que
ssh-agent
no se está ejecutando o que su configuración es incorrecta de alguna manera.Para tener una confirmación de eso, puede intentar lo siguiente:
Si luego se le pide que ingrese la frase de contraseña a su ssh_key, significa que tiene un problema con su agente ssh.
Vea también mi publicación sobre esta pregunta relacionada .
fuente
¿Puedo interesarle en DNS inverso?
Esencialmente, el cliente está haciendo el DNS inverso en el servidor, o viceversa.
Propongo una prueba:
Deshabilite las búsquedas de DNS en el servidor editando / etc / ssh / sshd_config y asegurándose de que "UseDNS" esté configurado en "no".
Ejecute "service ssh reload" (o lo que sea que haga que su demonio ssh vuelva a leer la configuración), luego intente nuevamente.
Incidentalmente, no sucede que finalmente te avise después de un largo período de tiempo, ¿verdad?
Otra cosa que puede verificar es mirar el contenido de / etc / hosts en el servidor para asegurarse de que no haya nada malo allí.
fuente
Verifique los permisos en el directorio ~ / .ssh y los archivos que contiene. Su umask predeterminada puede ser demasiado permisiva y, cuando recreó los archivos, es posible que les haya otorgado permisos incorrectos sin darse cuenta. Esto me ha quemado varias veces. Ninguno de los clientes (o servidores) ssh que utilicé nunca dio un mensaje de error útil sobre esto ...
fuente
tiene espacio libre en disco en su cliente (y en su servidor)?
df -h
fuente
Tuve un problema similar.
Parece que podría evitar el problema forzando un nombre de inicio de sesión como este.
fuente
Para mí, la actualización a Snow Leopard resolvió el problema. Entonces, creo que estaba relacionado con un error en OSX.
fuente
Si se debe a una clave guardada, debería poder eliminarla de su directorio ~ / .ssh en el archivo known_hosts. Simplemente encuentre la entrada y elimínela, luego debería volver a solicitarle.
Por otro lado, debería dar una advertencia cuando el host no coincide con lo que está grabado.
He tenido problemas en los que en OS X la búsqueda del nombre de host actúa como si fallara; la conexión simplemente agota el tiempo de espera de tanto tiempo, o cuando aparece el aviso, ha estado esperando tanto tiempo que le da unos diez segundos para que ingrese una contraseña antes de desconectar la conexión. Nunca pude rastrearlo a pesar de que las personas sugirieron agregar el host en cuestión al archivo host. Supongo que fue solo una "falla con las búsquedas de DNS de OS X" y se esperaba que fuera tolerado ... si alguien más tuviera este problema y lo resolviera, me encantaría saberlo.
fuente
Verifique los registros en el servidor. Suele estar en
/var/log/auth.log
(Debian / Ubuntu) o/var/log/secure
(RedHat / CentOS). Cualquier problema con la conexión generalmente se registra allí.fuente
Asegúrese de que / etc / hostname tenga una nueva línea terminada.
fuente