ssh-agent, aber für normale SSH-Passwörter (keine Passphrasen für private Schlüssel)

Ich suche nach einem Linux-Dienstprogramm, mit dem ich meine SSH-Passwörter nicht jedes Mal neu eingeben muss, wenn ich mich anmelde, dh so etwas wie ssh-agent, aber für normale alte Passwörter anstelle von SSH-Passphrasen für private Schlüssel.

Nur die Verwendung von SSH-Schlüsseln ist keine Option, da sie aus irgendeinem Grund auf dem betreffenden Server deaktiviert wurden. Ich würde es auch vorziehen, Passwörter nicht dauerhaft auf meiner Festplatte zu speichern (z. B. in ~/.ssh/config), weshalb ich ausdrücklich nach etwas wie ssh-agent frage, das auf einer Desktop-Sitzungsbasis funktioniert.

Antworten (1)

Der Standard-Linux ssh-Client kann Verbindungen zur Wiederverwendung offen halten.

Voraussetzungen:

Sie müssen Ihren so einrichten ~/.ssh/config, dass er einen ControlMaster und ControlPath enthält:

Host server
    Hostname example.com
    User username
    ServerAliveInterval 120
    ControlMaster auto
    ControlPath ~/.ssh/control:%h:%p:%r

Dann tippe einfach:

ssh -fN server

# -f      Requests ssh to go to background just before command execution.
# -N      Do not execute a remote command.

Sie müssen Ihr Passwort eingeben.
Dadurch wird eine Verbindung geöffnet und in den Hintergrund versetzt.

Führen Sie dann aus ssh server, es wird diese Verbindung wiederverwenden, ohne dass das Passwort angegeben werden muss.

Sie können Verbindungen schließen und öffnen, ohne dass ein Kennwort erforderlich ist, bis die Hintergrundverbindung beendet wird oder wenn Sie Ihren Computer neu starten. Diese Methode funktioniert auch über (mehrere) Hop-Server hinweg.

Um eine offene Verbindung zu schließen, führen Sie Folgendes aus:

ssh -O exit server

oder beenden Sie einfach den Prozess:

pkill -f 'ssh -fN server'