135 votos

¿Cómo puedo hacer ssh fallar en lugar de solicitar una contraseña si la clave pública de autenticación falla?

Tengo un script que ssh es varios servidores utilizando la autenticación de clave pública. Uno de los servidores se ha detenido dejar que la secuencia de comandos de iniciar la sesión debido a un problema de configuración, lo que significa que el script se queda con una "Contraseña:" símbolo del sistema, que obviamente no puede contestar, por lo que no intenta siquiera el resto de los servidores en la lista.

Es allí una manera de decirle al cliente ssh no para que solicite una contraseña, si la clave de autenticación falla, pero en lugar de simplemente informar de un error de conexión y deje que mi guión a seguir?

167voto

dF. Puntos 29787

Para OpenSSH también el modo por lotes, que además de la desactivación de la contraseña de peticiones debe deshabilitar la consulta de frase de contraseña(s) para las llaves.

El modo por lotes

Si se establece en "sí", frase de contraseña/contraseña de la consulta será deshabilitado. Esta opción es útil en secuencias de comandos y otros trabajos por lotes donde no el usuario está presente para proporcionar la contraseña. El argumento debe ser "sí" o "no". El valor predeterminado es "no".

Ejemplo de uso:

ssh -oBatchMode=yes -l <user> <host> <dostuff>

39voto

kristofer Puntos 11

añade lo siguiente a tu ~/.ssh/config:

PasswordAuthentication no

y para desactivar la contraseña de autenticación en el servidor, agregue la misma línea a /etc/ssh/sshd_config y reiniciar sshd.

12voto

Si usted está usando dropbear, sólo tiene que añadir el "-s" opción para desactivar la contraseña de autenticación.

9voto

mblsha Puntos 305

En la línea de comandos (o ~/.ssh/config) puede establecer PreferredAuthentications.

PreferredAuthentications=publickey

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: