Ich habe ein Skript, das mehrere Server mit öffentlicher Schlüsselauthentifizierung überprüft. Einer der Server hat aufgrund eines Konfigurationsproblems aufgehört, das Skript anzumelden. Dies bedeutet, dass das Skript an der Eingabeaufforderung "Password:" hängen bleibt, die es offensichtlich nicht beantworten kann, sodass der Rest der Server nicht einmal ausprobiert wird In der Liste.
Gibt es eine Möglichkeit, den ssh-Client anzuweisen, kein Kennwort einzugeben, wenn die Schlüsselauthentifizierung fehlschlägt, sondern nur einen Verbindungsfehler zu melden und mein Skript weiterlaufen zu lassen?
quelle
ssh user@host -oPreferredAuthentications=publickey -C 'echo success'
Fügen Sie Folgendes zu Ihrem hinzu
~/.ssh/config
:Fügen Sie zum Deaktivieren der Kennwortauthentifizierung auf dem Server die gleiche Zeile hinzu
/etc/ssh/sshd_config
und starten Sie den Computer neusshd
.quelle
Wenn Sie dropbear verwenden, fügen Sie einfach die
-s
Option " " hinzu, um die Kennwortauthentifizierung zu deaktivieren.quelle
In der Kommandozeile (oder
~/.ssh/config
) können Sie einstellenPreferredAuthentications
.quelle
ssh -o PreferredAuthentications=publickey
ssh "-oPreferredAuthentications publickey"