SSH ohne Passwort

Die Secure Shell oder SSH bezeichnet sowohl ein Netzwerkprotokoll als auch die entsprechendenProgramme, mit deren Hilfe man auf eine sichere Art und Weise eine verschlüsselte Netzwerkverbindung mit einem entfernten Gerät herstellen kann.
Man verwendet diese Methode, wenn man sich auf eine entfernte Kommandozeile sozusagen auf den lokalen Rechner holen will. Damit werden auf der lokalen Konsole die Ausgaben der entfernten Konsole ausgegeben und die lokalen Tastatureingaben an den entfernten Rechner übergeben.

Da ein Administrator sich pro Tag unzählige Male remote auf anderen Hosts einloggen muss, ist es mit Arbeitserleichterung verbunden, wenn man nicht jedes Mal das Passwort eingeben muss, sondern sich der die Verbindung aufbauende Rechner sich mit dem Schlüssel des lokalen Anwenders authentifiziert.

Dazu erzeugen wir ein Schlüsselpaar

 

ssh-keygen -t dsa

oder

ssh-keygen -t rsa

Man wird zwar nach einer Passworteingabe gefragt, die kann man aber unterlassen, wenn diesen Weg hier gehen will.
Diese Schlüssel werden im Home-Verzeichnis unter .ssh/id_dsa.pub respektive .ssh/id_rsa.pub abgelegt.

Jetzt können wir ihn auf das gewünschte Remotesystem portieren:

ssh-copy-id -i ~/.ssh/id_dsa.pub user@remote-system

Im Fall dessen, dass SSH auf dem Remotesystem einen anderen als den Port 22 verwendet, dann ist dieser Befehl angebracht.

 

cat ~/.ssh/*.pub | ssh -p Port user@remote-system 'umask 077; cat >>.ssh/authorized_keys'

Anschließend müsste der ssh-Login an dem Remotesystem ohne Passwortabfrage erfolgen.