Wie kann ich SSH unter Linux so einrichten, dass ich mich ohne Passwort anmelde?

7

Auf meinem Raspberry Pi wird das Standard-Debian-Image ausgeführt und SSH aktiviert. Ich logge mich wie folgt in meinen Pi ein:

ssh pi@<IP-address-of-my-Pi>

Ich muss jedes Mal mein Passwort eingeben. Kann ich meinen Pi irgendwie dazu bringen, Anmeldungen von meinem lokalen Computer zu akzeptieren? Ich verwende Fedora Linux.

Bengt
quelle
Diese Frage richtet sich speziell an Benutzer oder Entwickler (die über SSH-Clients interagieren) des Raspberry Pi (der als SSH-Server verwendet wird). Es sollte daher in Ordnung sein, zu fragen, ob ich die FAQ richtig interpretiere .
Bengt
2
Wir sind uns einig, dass wenn Sie nicht sagen können, ob eine Frage zum Raspberry Pi vorliegt, wenn alle Verweise darauf entfernt werden, dies nicht zum Thema gehört. Wir besprechen auch Fragen, bevor wir entscheiden, dass sie besser im offiziellen Chatraum geschlossen sind . Fühlen Sie sich frei, mitzumachen, wenn Sie eine Frage haben!

Antworten:

13

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-idund 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 [email protected]
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>
Bengt
quelle
Vielleicht hast du recht. Das sollte eine eigene Frage sein, dachte ich. Ich werde eine erstellen, wenn sie nicht existiert, und sie hier verlinken.
Bengt
Ich habe die Erklärung hinzugefügt, wie man einen Schlüssel generiert, der auf Peer Review wartet
user689893
@bngtlrs Vielleicht möchten Sie klarstellen, dass diese Anweisungen auf einem Windows-PC nicht funktionieren, und im Idealfall erklären, wie dies von einem PC aus gemacht wird.
@SteveRobillard Ich habe keine saubere Lösung für Windows. Vielleicht sollte ich klarer machen, dass die Frage Linux-spezifisch ist und jemand anderes sich in einer anderen Frage um Windows kümmern sollte.
Bengt
@bngtlrs Wenn ich morgen eine Chance bekomme, werde ich eine Antwort für die Windows-Menge veröffentlichen, wenn es Ihnen nichts ausmacht. Alternativ könnte ich Ihren Beitrag zur Überprüfung und Genehmigung bearbeiten.
1

Überprüfen Sie die Berechtigungen für die Dateien, die Sie kopieren möchten, um sicherzustellen, dass der Benutzer, den Sie als über ssh anmelden, über die Berechtigung zum Lesen verfügt.

Joe
quelle
1
Das OPs Problem ist mit Anmeldungen, nicht das Kopieren von Dateien ...
Jasonwryan
Ja, meine Frage betraf das Kopieren meiner ID. Sie, Joe, haben grundsätzlich Recht damit, dass Berechtigungen beim Versuch, sich anzumelden , Probleme verursachen können. Dies sollte jedoch in einem anderen Q & A behandelt werden.
Bengt