GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie eine passwortlose SSH-Anmeldung ein

Einführung

SSH (Secure Shell) ermöglicht sichere Remote-Verbindungen zwischen zwei Systemen. Mit diesem kryptografischen Protokoll können Sie Maschinen verwalten, Dateien auf einem entfernten Server über verschlüsselte Kanäle kopieren oder verschieben.

Es gibt zwei Möglichkeiten, sich über SSH bei einem Remote-System anzumelden – mit Passwortauthentifizierung oder Public-Key-Authentifizierung (Passwortlose SSH-Anmeldung).

In diesem Tutorial erfahren Sie, wie Sie die passwortlose SSH-Anmeldung einrichten und aktivieren.

Voraussetzungen

  • Zugriff auf Befehlszeile/Terminalfenster
  • Benutzer mit sudo oderroot Privilegien
  • Ein lokaler Server und ein Remote-Server
  • SSH-Zugriff zu einem Remote-Server über die Befehlszeile/das Terminalfenster

Bevor Sie beginnen:Auf vorhandene SSH-Schlüssel prüfen

Möglicherweise haben Sie bereits ein SSH-Schlüsselpaar auf Ihrem Computer generiert. Führen Sie den folgenden Befehl aus, um zu sehen, ob Sie SSH-Schlüssel auf dem System haben:

ls -al ~/.ssh/id_*.pub

Wenn die Ausgabe Ihnen mitteilt, dass keine solchen Dateien vorhanden sind, fahren Sie mit dem nächsten Schritt fort, der Ihnen zeigt, wie Sie SSH-Schlüssel generieren.

Falls Sie sie haben, können Sie die vorhandenen Schlüssel verwenden, sie sichern und ein neues Paar erstellen oder es überschreiben.

Schritt 1:SSH-Schlüsselpaar generieren

1. Als erstes müssen Sie ein SSH-Schlüsselpaar generieren auf dem Computer, an dem Sie gerade arbeiten.

In diesem Beispiel generieren wir ein 4096-Bit-Schlüsselpaar. Wir fügen auch eine E-Mail-Adresse hinzu, dies ist jedoch optional. Der Befehl lautet:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

2. Geben Sie als Nächstes den Ort ein, an dem Sie die Schlüssel speichern möchten, oder drücken Sie Enter um den Standardpfad zu akzeptieren.

3. Sie werden auch aufgefordert, eine Passphrase festzulegen. Das macht die Verbindung zwar noch sicherer, kann aber beim Aufbau automatisierter Prozesse unterbrechen. Daher können Sie eine Passphrase eingeben oder einfach Enter drücken um diesen Schritt zu überspringen.

4. Die Ausgabe teilt Ihnen dann mit, wo die Identifikation und der öffentliche Schlüssel gespeichert sind, und gibt Ihnen den Fingerabdruck des Schlüssels.

5. Überprüfen Sie, ob Sie das SSH-Schlüsselpaar erfolgreich erstellt haben, indem Sie den folgenden Befehl ausführen:

ls -al ~/.ssh/id_*.pub

Sie sollten den Pfad des Identifikationsschlüssels und des öffentlichen Schlüssels sehen, wie im Bild unten:

Schritt 2:Öffentlichen Schlüssel auf Remote-Server hochladen

Sie können den öffentlichen SSH-Schlüssel mit ssh-copy-id auf einen Remote-Server hochladen Befehl oder die cat Befehl. Nachfolgend finden Sie beide Optionen.

Option 1:Öffentlichen Schlüssel mit dem Befehl ssh-copy-id hochladen

Um den passwortlosen Zugriff zu aktivieren, müssen Sie eine Kopie des öffentlichen Schlüssels auf den Remote-Server hochladen.

1. Stellen Sie eine Verbindung zum Remote-Server her und verwenden Sie die ssh-copy-id Befehl:

ssh-copy-ide [remote_username]@[server_ip_address]

2. Der öffentliche Schlüssel wird dann automatisch in die .ssh/authorized_keys kopiert Datei.

Option 2:Öffentlichen Schlüssel mit dem cat-Befehl hochladen

Eine andere Möglichkeit, den öffentlichen Schlüssel auf den Server zu kopieren, ist die Verwendung von cat Befehl.

1. Verbinden Sie sich zunächst mit dem Server und erstellen Sie eine .ssh Verzeichnis darauf.

ssh [remote_username]@[server_ip_address] mkdir -p .ssh

2. Geben Sie dann das Passwort für den entfernten Benutzer ein.

3. Jetzt können Sie den öffentlichen Schlüssel vom lokalen Computer auf den Remote-Server hochladen. Der Befehl gibt auch an, dass der Schlüssel unter dem Namen authorized_keys gespeichert wird in der neu erstellten .ssh Verzeichnis:

cat .ssh/id_rsa.pub | ssh [remote_username]@[server_ip_address] 'cat >> .ssh/authorized_keys'

Schritt 3:Ohne Passwort beim Server anmelden

Nachdem das SSH-Schlüsselpaar generiert und der öffentliche Schlüssel auf den Remote-Server hochgeladen wurde, sollten Sie sich jetzt ohne Angabe eines Passworts mit Ihrem dedizierten Server verbinden können.

Überprüfen Sie, ob das Setup funktioniert, indem Sie den Befehl ausführen:

ssh [remote_username]@[server_ip_address]

Das System sollte Sie direkt beim Remote-Server anmelden, kein Passwort erforderlich.

Optional:Fehlerbehebung bei Remote-Server-Dateiberechtigungen

Dateiberechtigungen auf dem Remote-Server können Probleme mit der passwortlosen SSH-Anmeldung verursachen. Dies ist ein häufiges Problem bei älteren SSH-Versionen.

Wenn Sie immer noch nach einem Passwort gefragt werden, nachdem Sie alle Schritte durchlaufen haben, beginnen Sie damit, die Dateiberechtigungen auf dem Remote-Server zu bearbeiten.

  • Legen Sie Berechtigungen 700 für .ssh fest Verzeichnis.
  • Legen Sie Berechtigungen 640 für die .ssh/authorized_keys fest Verzeichnis.

Bearbeiten Sie die Dateiberechtigungen mit dem folgenden Befehl:

ssh [remote_username]@[server_ip_address] "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden. Bei erfolgreicher Aktion erfolgt keine Ausgabe. Das Problem sollte jetzt behoben sein.


Linux
  1. So richten Sie die SSH-Anmeldung ohne Passwort ein

  2. So richten Sie SSH-Schlüssel ein

  3. So richten Sie eine passwortlose SSH-Anmeldung unter Linux ein

  4. Wie passwortloses SSH unter Linux / UNIX funktioniert

  5. So richten Sie SSH-Schlüssel für die „kennwortlose“ SSH-Anmeldung unter CentOS/RHEL ein

So richten Sie die passwortlose SSH-Anmeldung unter CentOS 7 / RHEL 7 ein

So richten Sie die passwortlose SSH-Anmeldung unter CentOS 8 / RHEL 8 ein

So richten Sie die passwortlose SSH-Authentifizierung unter Linux ein

Wie richte ich eine passwortlose SSH-Anmeldung mit ssh-keygen ein?

So richten Sie die passwortlose SSH-Anmeldung in AlmaLinux ein

Passwortloser SSH-Login in 3 einfachen Schritten