SSH ohne Passwort
Aus MattWiki
Die nachfolgenden Schritte werden von der Client-Maschine aus ausgeführt.
Voraussetzung ist ein passwortgeschützter SSH-Zugriff zur Server-Maschine.
Schlüssel erstellen
$ ssh-keygen # Neues RSA-Schlüsselpaar in ~/.ssh/ anlegen
Anmerkungen
- Passwortabfrage von
ssh-keygen
kann leer gelassen werden, wenn es nur einen User in der Root-Gruppe gibt. Andernfalls ist dies ein Sicherheitsrisiko.
Ergebnis:
Generating public/private rsa key pair. Enter file in which to save the key (/home/user/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_rsa. Your public key has been saved in /home/user/.ssh/id_rsa.pub. The key fingerprint is: b2:ad:a0:80:85:ad:6c:16:bd:1c:e7:63:4f:a0:00:15 user@host The key's randomart image is: +--[ RSA 2048]----+ | E. | | . | |. | |.o. | |.ooo o. S | |oo+ * .+ | |++ +.+... | |o. ...+. | | . .. | +-----------------+
Schlüssel zum remote Host kopieren
$ ssh-copy-id user@remotehost.tld $ ssh-copy-id -i <id_rsa.pub> user@remotehost.tld
Einloggen ausprobieren
$ ssh user@remotehost.tld
Überprüfen, welche Schlüssel hinterlegt sind, um auszuschließen, dass weitere Schlüssel Zugriff haben:
$ less ~/.ssh/authorized_keys
Passwort für Schlüssel cachen
Wenn der Schlüssel mit einem Passwort gesichert wurde, kann man mit folgendem Programm das Passwort für den Schlüssel puffern für eine automatische Eingabe:
$ ssh-add -t 3600
Alternativ GNOME Keyring verwenden.
Für XFCE muss dieser in den Sitzungsoptionen aktiviert werden:
- Fortgeschritten → Laufzeitumgebung für GNOME beim Starten laden
- Automatisch gestartete Anwendungen → GNOME-Schlüsselbunddienst: Sicherheitsdienst
- Automatisch gestartete Anwendungen → GNOME-Schlüsselbunddienst: SSH-Agent
Known Host entfernen
Alte Hostnamen können aus den known_hosts entfernt werden mit:
ssh-keygen -f "path-to-known_hosts" -R <hostname> ssh-keygen -f "path-to-known_hosts" -R <ipaddress>