Authentifizierung mit SSH ohne Passwort

SSH

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/*

Ein Gedanke zu „Authentifizierung mit SSH ohne Passwort

  1. Pingback: Hostname setzen – Mein Raspberry PI Blog

Schreibe einen Kommentar

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