Ich möchte mich bei der Verbindung aus einem bestimmten Netzwerk bei SSH anmelden, ohne ein Kennwort einzugeben (ich bin mir des Risikos bewusst).
Ist das etwas, das konfiguriert werden kann?
Bitte beachten Sie, dass ich mich nicht auf die schlüsselbasierte Authentifizierung beziehe (die ich für exponierte Netzwerke eingerichtet habe), sondern auf die Möglichkeit, einen Login einzugeben und authentifiziert zu werden, ohne das Kennwort für diesen Benutzer eingeben zu müssen.
Antwort1
Ja, so etwas wie das hier:
sshpass -pfoobar ssh -o StrictHostKeyChecking=no user@host command_to_run
sshpassist ein Dienstprogramm zum Ausführen von SSH im Modus der als „tastaturinteraktiv“ bezeichneten Kennwortauthentifizierung, jedoch im nicht-interaktiven Modus.
ssh verwendet direkten TTY-Zugriff, um sicherzustellen, dass das Kennwort tatsächlich von einem interaktiven Tastaturbenutzer eingegeben wurde. Sshpass führt ssh in einem dedizierten TTY aus und täuscht so vor, dass es denkt, es erhalte das Kennwort von einem interaktiven Benutzer.
Der auszuführende Befehl wird nach den eigenen Optionen von sshpass angegeben. Normalerweise ist es „ssh“ mit Argumenten, aber es kann genauso gut jeder andere Befehl sein. Die von ssh verwendete Kennwortabfrage ist derzeit jedoch in sshpass fest codiert.