Ist es möglich, für einen Benutzer kein SSH-Passwort zu haben, wenn er aus einem bestimmten Netzwerk kommt?

Ist es möglich, für einen Benutzer kein SSH-Passwort zu haben, wenn er aus einem bestimmten Netzwerk kommt?

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.

verwandte Informationen