Tengo un script que envía varios servidores usando autenticación de clave pública. Uno de los servidores ha dejado de permitir que el script inicie sesión debido a un problema de configuración, lo que significa que el script se atasca con el mensaje "Contraseña:", que obviamente no puede responder, por lo que ni siquiera prueba el resto de los servidores en la lista.
¿Hay alguna manera de decirle al cliente ssh que no solicite una contraseña si falla la autenticación de clave, sino que simplemente informe un error al conectarse y deje que mi script continúe?
fuente
ssh user@host -oPreferredAuthentications=publickey -C 'echo success'
Agregue lo siguiente a su
~/.ssh/config
:y para deshabilitar la autenticación de contraseña en el servidor, agregue la misma línea
/etc/ssh/sshd_config
y reiniciesshd
.fuente
Si está utilizando dropbear, simplemente agregue la
-s
opción " " para deshabilitar la autenticación de contraseña.fuente
En la línea de comando (o
~/.ssh/config
) puede establecerPreferredAuthentications
.fuente
ssh -o PreferredAuthentications=publickey
ssh "-oPreferredAuthentications publickey"