Home > Linux > SSH Authentifizierung mittels Public Key

SSH Authentifizierung mittels Public Key

Mittels Public Key Authentifizierung kann man sich via SSH auf einem Server einloggen bzw. Daten übertragen, ohne jedes Mal das Passwort eintippen zu müssen.

Hierfür wird ein sogenannter Private-Key für den Client und ein Public-Key für den Server erzeugt.
Beim Private-Key sollte man darauf achten, dass niemand unbefugten Zugriff darauf bekommt!

Erstmals erzeugen wir das Schlüsselpaar am Client:

user@client:~$ ssh-keygen -t rsa
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:

Bei der Frage, wohin der Key gespeichert werden soll, kann man einfach den Standard-Pfad benutzen (siehe oben).
Eine Passphrase kann man ebenso definieren – wenn man keine Passphrase angibt, wird der Key allerdings nicht verschlüsselt.

Jetzt muss noch der öffentliche Key (id_rsa.pub) auf den Zielserver transportiert werden – dies erledigt man am einfachsten mittels ssh-copy-id.

(MAC-User sollten diesen Artikel lesen)

user@client:~$ ssh-copy-id -i id_rsa.pub user@server
user@server's password: 
Now try logging into the machine, with "ssh 'user@server'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Wenn SSH nicht auf Port 22 lauscht, lautet der Befehl folgendermaßen:

ssh-copy-id '-p PORT -i id_rsa.pub user@server'

Das war’s! Nun sollte man sich ohne Passwort am Server einloggen können.

user@client:~$ ssh server
Linux server 2.6.32-5-686 #1 SMP Wed Jan 12 04:01:41 UTC 2011 i686
user@server:~$
  1. johannes
    12. Oktober 2011, 09:29 | #1

    SSH Authentifizierung über Key wenn nicht Standartport (22)

    Danke, hat mir sehr geholfen!

  1. Bisher keine Trackbacks
Protected by WP Anti Spam