J'ai un script qui ssh'es plusieurs serveurs utilisant l'authentification par clé publique. L'un des serveurs a cessé de laisser le script se connecter en raison d'un problème de configuration, ce qui signifie que le script reste bloqué avec une invite "Mot de passe:", à laquelle il ne peut évidemment pas répondre, de sorte qu'il n'essaye même pas le reste des serveurs. dans la liste.
Existe-t-il un moyen de dire au client ssh de ne pas demander de mot de passe en cas d'échec de l'authentification de la clé, mais simplement de signaler une erreur de connexion et de laisser mon script se poursuivre?
la source
ssh user@host -oPreferredAuthentications=publickey -C 'echo success'
Ajoutez ce qui suit à votre
~/.ssh/config
:et pour désactiver l'authentification par mot de passe sur le serveur, ajoutez la même ligne à
/etc/ssh/sshd_config
et redémarrezsshd
.la source
Si vous utilisez dropbear, ajoutez simplement l’
-s
option " " pour désactiver l’authentification par mot de passe.la source
Sur la ligne de commande (ou
~/.ssh/config
) vous pouvez définirPreferredAuthentications
.la source
ssh -o PreferredAuthentications=publickey
ssh "-oPreferredAuthentications publickey"