Keypair SSH-Login

Nicht nur, dass es angenehmer beim Login auf dem Server ist, dass kein Benutzername und Passwort abgefragt wird, ist es auch sogar sehr nützlich. Muss man aus irgendeinem Grund eine Software benutzen, die remote auf einem anderen Server etwas "tun" soll, sie aber keinen Mechanismus besitzt, um sich einzuloggen, so lässt sich vorab auf diesem Weg das Problem umgehen.

Zunächst gibt man folgendes ein:

ssh-keygen -t rsa -b 4096

Es wird dann ein Schlüsselpaar, bestehend aus Public- und Private-Key, erzeugt mit einer Schlüssellänge von 4096 Bit. Man wird danach aufgefordert ein Passwort einzugeben. Dieses Passwort ist für den Private-Key und autorisiert den Benutzer diesen Key zu verwenden, sofern er das Passwort kennt. Das schützt vor unauthorisierter Nutzung durch Dritte. Sinnvollerweise ist hier ein 12-stelliges Passwort zu setzen, welches aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen besteht.

Sollte der Priv-Key aber für einen Automatismus verwendet werden, bspw. für ein Backup-Script, so wäre ein Passwort eher ungünstig, da niemand das Passwort eingeben kann, wenn das Script ausgeführt wird.. In diesem Fall ist es dann wegzulassen. 

Wenn das erledigt ist muss der Public-Key noch rüberkopiert werden. Das geht dann mit:

ssh-copy-id -i /root/.ssh/id_rsa.pub   root@192.168.0.16

Jetzt sollte ein Login möglich sein:

ssh root@192.168.0.16

Natürlich kann man das Schlüsselpaar auf mehreren Servern verwendet werden. Dazu reicht es, wenn man den Public-Key auf den nächsten Server in das Home-Dir des Users kopiert. Dafür müssen aber folgende Bedingungen eingehalten werden.