Ja, Sie können die Authentifizierung mit Ihrem Raspberry Pi mithilfe von SSH automatisieren.
Als Voraussetzung ist Folgendes erforderlich:
Linux
Unter Linux können Sie SSH über Ihren Paketmanager installieren, ein Schlüsselpaar mit generieren ssh-keygen
, den Schlüssel mit auf den Pi kopieren ssh-copy-id
und mit testen ssh
.
Installieren Sie SSH unter Linux
Bei den meisten Linux-Distributionen ist ein SSH-Client vorinstalliert. Wenn Sie aus irgendeinem Grund keine haben sollten, installieren Sie sie mit Ihrem Paketmanager:
Für RPM-basierte Linux-Distributionen (z. B. Fedora und Suse):
sudo yum install ssh
Für DEB-basierte Linux-Distributionen (z. B. Debian und Ubuntu):
sudo apt-get install ssh
Generieren Sie ein Schlüsselpaar unter Linux
Zunächst benötigen Sie ein öffentliches / privates Schlüsselpaar. Wenn Sie keinen haben, führen Sie den folgenden Befehl aus, um ein Schlüsselpaar mit den Standardeinstellungen zu generieren.
$ ssh-keygen
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:
24:55:ee:67:83:72:82:55:5f:b9:b4:09:2a:fa:56:a1 user@client.local
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| + . |
| S E |
| . + + |
| .o . o.|
| o.oo. oo|
| ==o.BO+|
+-----------------+
Kopieren Sie den öffentlichen Schlüssel unter Linux auf den Pi
Zweitens müssen Sie den generierten öffentlichen Schlüssel ohne Kennwort auf den Computer kopieren, auf dem Sie sich anmelden möchten. Führen Sie also den folgenden Befehl auf dem Computer aus, und als Benutzer möchten Sie auf den Pi zugreifen können:
$ ssh-copy-id pi@<IP-address-of-your-Pi>
Password:
Now try logging into the machine, with "ssh 'pi@<IP-address-of-your-Pi>'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
SSH in den Pi unter Linux
Melden Sie sich abschließend mit SSH an, um sicherzustellen, dass kein Kennwort angefordert wird:
$ ssh pi@<IP-address-of-your-Pi>