Benutzer-Werkzeuge

Webseiten-Werkzeuge


comp:sshkeylogin

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

comp:sshkeylogin [2012-12-12 1548] (aktuell)
werner angelegt
Zeile 1: Zeile 1:
 +====== Login mit einem ssh-Key ======
  
 +Manchmal hat man das starke Bedürfnis, sich per ''ssh'' an einem entfernten Rechner anzumelden, ohne jedes Mal das Passwort anzugeben. Das muss doch auch anders gehen... geht es auch: man benutzt die Authentifizierung durch einen selbst generierten SSH-Schlüssel.
 +
 +===== Schlüssel erzeugen =====
 +
 +Der Befehl (auf der Befehlszeile einzugeben) lautet beispielsweise
 +  ssh-keygen -t rsa -f ~/.ssh/mein-neuer-key
 +
 +Darauf antwortet die Software mit dem Generieren eines Schlüssels, was etwa so aussieht:
 +
 +<code>
 +Generating public/private rsa key pair.
 +Enter passphrase (empty for no passphrase):
 +Enter same passphrase again:
 +Your identification has been saved in /home/wflamme/.ssh/mein-neuer-key.
 +Your public key has been saved in /home/wflamme/.ssh/mein-neuer-key.pub.
 +The key fingerprint is:
 +67:d1:21:c2:18:66:30:fa:0a:bb:8c:35:ce:0d:9b:e9 flamme@klops
 +The key's randomart image is:
 ++--[ RSA 2048]----+
 +|    o.++. . .    |
 +|     =. .. o .   |
 +|.       . .    |
 +| *           |
 +|* . .   S o      |
 +|.+ .           |
 +|.E=              |
 +|oo o             |
 +|o.               |
 ++-----------------+
 +</code>  
 +
 +Ob da nun eine Passphrase eingegeben wird, ist jedem selbst überlassen. Ohne Passphrase geht das Anmelden schneller, aber der Schlüssel ist ungeschützt: jeder, der ihn erhält, kann sich damit identifizieren! Sicherer ist es deshalb, eine Passphrase zu verwenden -- etwa nach den Vorschlägen von [[http://imgs.xkcd.com/comics/password_strength.png]] :-)
 +
 +===== Schlüssel verteilen =====
 +
 +Um den Schlüssel einsetzen zu können, muss er auf dem entfernten Rechner in der Datei ''~/.ssh/authorized_keys'' des Remote-Nutzers vorkommen. Dazu gibt es umständliche und einfache Methoden ;-). Aus Gründen der Bequemlichkeit nehme ich die einfache...
 +
 +Wenn der entfernte Rechner ''knurps.example.org'' heißt und der Nutzer dort ''ottokar'', kann man den Schlüssel mit dem folgenden Befehl übertragen:
 +  ssh-copy-id -i ~/.ssh/mein-neuer-key ottokar@knurps.example.org
 +
 +Bei dieser Übertragung muss man zum letzten Mail das Passwort eingeben:
 +<code>
 +Password:
 +Now try logging into the machine, with "ssh 'ottokar@knurps.example.org'", and check in:
 +
 +  ~/.ssh/authorized_keys
 +
 +to make sure we haven't added extra keys that you weren't expecting.
 +</code>
 +
 +===== Automatik =====
 +
 +Damit dieser Key auch jedes Mal benutzt wird, kann man sich seine Datei ''~/.ssh/config'' entsprechend einrichten:
 +
 +<code>
 +Host knurps.example.org
 +User ottokar
 +IdentityFile ~/.ssh/mein-neuer-key
 +</code>
 +
 +Beim nächsten Mal muss man nur noch mit ''ssh knurps.example.org'' eingeben, um sich auf der entfernten Maschine anzumelden.
comp/sshkeylogin.txt · Zuletzt geändert: 2012-12-12 1548 von werner