Authentifizierung mit SSH ohne Passwort

Jedesmal ein sicheres und langes Passwort bei der Verbindung mit dem Raspberry PI per SSH eingeben zu müssen kann auf Dauer ganz schön nervig sein. Dafür gibt es mit der Public-/Private-Key-Authentifizierung eine einfache Lösung und vor allem zum Passwort auch noch deutlich sicherer vor Angriffen wie Brute-Force. Vor allem bei Servern die vom Internet aus […]

Jedesmal ein sicheres und langes Passwort bei der Verbindung mit dem Raspberry PI per SSH eingeben zu müssen kann auf Dauer ganz schön nervig sein. Dafür gibt es mit der Public-/Private-Key-Authentifizierung eine einfache Lösung und vor allem zum Passwort auch noch deutlich sicherer vor Angriffen wie Brute-Force. Vor allem bei Servern die vom Internet aus erreichbar sind ist Public-/Private-Key-Authentifizierung immer dem Passwort vorzuziehen.

Private Key erstellen

ssh-keygen -f ~/.ssh/raspberry1
Generating public/private rsa key pair.
Created directory '/Users/Blar/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/Blar/.ssh/raspberry1.
Your public key has been saved in /Users/Blar/.ssh/raspberry1.pub.
The key fingerprint is:
SHA256:S3Ze/jqoV/d57KG0sjHNp2oWsQxvpSeT0bveiwmYbG8 Blar@imac-von-blar.fritz.box
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|            .    |
|         . o o   |
|        S = O .  |
|       o.+o&+o.  |
|        .=o**=.=.|
|        . +E*oO.=|
|        .o++*X.++|
+----[SHA256]-----+

Generierte Dateien anzeigen

ls ~/.ssh
raspberry1	raspberry1.pub

Public Key übertragen

Jetzt muss der „Private Key“ auf den Raspberry PI übertragen werden. Dies könnte auch manuell per scp gemacht werden, jedoch ist ssh-copy-id hier besser, der „Private Key“ dann korrekt abgelegt wird. In diesem Schritt muss zum letzten mal das Passwort angegeben werden, um sich per SSH zu verbinden.

ssh-copy-id -i ~/.ssh/raspberry1 blar@10.0.1.124
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/Blar/.ssh/raspberry1.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
blar@10.0.1.124's password: 

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh 'blar@10.0.1.124'"
and check to make sure that only the key(s) you wanted were added.

Konfiguration anpassen

Damit nicht jedesmal der Benutzername und die IP-Adresse angebendem werden muss, kann in der Datei ~/.ssh/config die Standardeinstellungen vorgenommen werden, wenn sich SSH zu einem Host verbindet. Hier wird auch ein Alias für die IP-Adresse erstellt, damit in Zukunft ein „ssh raspberry1“ zum Verbinden ausreicht.

vim ~/.ssh/config
Host raspberry1
HostName 10.0.1.124
Port 22
User blar
IdentityFile ~/.ssh/raspberry1

Verbindung testen

Nun kann die Verbindung getestet werden und es sollte kein Passwort mehr abgefragt werden, da die Authentifizierung mit dem Private-Key (~/.ssh/raspberry1) und dem Public-Key (~/.ssh/raspberry1.pub) durchgeführt wird.

ssh raspberry1
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu May 18 14:28:36 2017 from imac-von-blar.fritz.box

blar@raspberry1:~ $

Dateirechte korrekt setzen

Sollte es dazu kommen, dass dein Public-/Private-Key nicht verwendet wird, liegt das oft an den falschen Dateirechten im Verzeichnis ~/.ssh. Dies kann per chmod angepasst werden, damit kein anderer Benutzer auf dem System die Rechte hat die Dateien zu lesen oder zu schreiben.

chmod 600 ~/.ssh/*

Eine Antwort auf „Authentifizierung mit SSH ohne Passwort“

  1. […] und auch passender als der Standardhostname raspberrypi sinnvoll. Der Alias für SSH im Artikel Authentifizierung mit SSH ohne Passwort bezieht sich ausschliesslich auf SSH-Verbindungen (die Programme ssh, scp und rsync) und hat für […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.