Passwortloser SSH Login und SCP

img_Terminal1Manchmal ist die Möglichkeit eines SSH-Logins ohne ständiges Eintippen eines Passworts ganz nützlich. Aber auch gefährlich. Darauf gehe ich hier jetzt aber nicht ein, dazu gibt es genug Matrial im Netz.

Auf dem eigenen Linux-Rechner folgendes ausführen.

ssh-keygen -t dsa
Enter passphrase (empty for no passphrase): Kein Passwort angeben!
Enter same passphrase again:                Weiter mit ENTER, kein Passwort angeben!

Die Keys id_dsa (private) und id_dsa.pub (public) werden erstellt, normalerweise im eigenen Homedirectory unter ~/.ssh abgelegt.

Als nächstes muss der public key auf den Server (Zielrechner) kopiert werden.

scp id_dsa.pub username@zielrechner:~/.ssh

Nun auf den Zielrechner wechseln für die nächsten Schritte. Im Verzeichnis .ssh sollte nun die Datei id_dsa.pub liegen. Der Inhalt der Datei id_dsa.pub muss nun in die, vermutlich bereits vorhandene, Datei authorized_keys eingefügt werden. Falls die Datei authorized_keys nicht existiert, kann auch die Datei id_dsa.pub einfach in authorized_keys umbenannt werden.

ssh username@zielrechner
cd .ssh
cat id_dsa.pub >> authorized_keys

Eine letzte Kontrolle vor dem Verlassen des Zielrechners ist noch nötig. Der Ordner .ssh sollte die Rechte drwx------ besitzen, falls nicht muss man dies jetzt noch anpassen. Ebenfalls kontrollieren sollte man die Datei authorized_keys welche nur -rw------- als Rechte besitzen sollte. Falls hier andere Rechte verteilt wurden, kann dies zu Fehlern führen. Nicht jede Version von OpenSSH akzeptiert hier zu grosszügige Rechte.

Die SSH-Verbindung zum Zielrechner kann nun beendet werden.

Nun kann man vom eigenen Linux-Rechner aus die passwortlose Verbindung testen.

ssh username@zielrechner

Hier sollte nun sofort eine Verbindung zum Zielrechner aufgebaut werden, ohne dass nach dem Passwort gefragt wird.

Ebenfalls testen kann man dies natürlich noch durch kopieren einer Testdatei per scp.

scp username@zielrechner:~/test.file .
 test.file    100%    9065    8.9KB/s    00:00

Alles OK, somit kann dies nun für die automatisierte Abarbeitung genutzt werden.