¿Cómo deshabilitar la solicitud de contraseña desde el lado del cliente ssh?


9

Tengo un script que se basa en la autenticación ssh de clave pública / privada. El problema es que algunos sistemas están mal configurados y no tienen configurada la confianza de clave pública / privada ssh adecuada. Cuando eso suceda, sshsolicite una contraseña que bloquee la ejecución del script. He intentado este comando:

sudo ssh -o "PasswordAuthentication=no" -o "ChallengeResponseAuthentication=no" root@last-call

Pero todavía me solicitan la contraseña de root.


Después de la prueba y error, encontré la opción que necesitaba. "PreferredAuthentications=publickey"
Red Cricket

¿Es eso mejor que la solución propuesta? (BatchMode)
tocado el

Respuestas:


9

La forma canónica de hacer esto es con la BatchModeopción:

ssh -o BatchMode=yes …

De acuerdo con el manual :

Si se establece en "sí", la consulta de frase de contraseña / contraseña se deshabilitará. Esta opción es útil en scripts y otros trabajos por lotes donde no hay ningún usuario presente para proporcionar la contraseña.

Sin embargo, hubiera esperado que la combinación de PasswordAuthentication=noy ChallengeResponseAuthentication=nofuera suficiente. ssh -vvpodría dar una pista.


¡Eso también funciona! $ sudo ssh last-call-2 Password: $ sudo ssh -o "BatchMode=yes" last-call-2 Permission denied (gssapi-keyex,gssapi-with-mic,publickey,password,keyboard-interactive).
Red Cricket
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.