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

Passwortloser SSH-Login in 3 einfachen Schritten

SSH (Secure-SHELL) ist ein sicheres Open-Source-Netzwerkprotokoll, das es Benutzern ermöglicht, sich sicher bei Remote-Linux-Systemen und anderen Netzwerkgeräten anzumelden. Darüber hinaus wird das Protokoll für die Übertragung von Dateien zwischen Linux-Systemen unter Verwendung des Secure Copy (SCP)-Protokolls verwendet .

Normalerweise fordert SSH Benutzer vor der Anmeldung zur Eingabe von Passwörtern auf. Sie können jedoch die kennwortlose SSH-Anmeldung bei einem anderen Remote-Linux-System von Ihrem Linux-System aus konfigurieren. Dies erhöht das Vertrauen und ist praktisch bei Cron-Jobs, die eine Remote-Sicherung von Dateien mithilfe des SCP-Protokolls erfordern.

In dieser Anleitung erfahren Sie, wie Sie die passwortlose SSH-Anmeldung mithilfe von SSH-Schlüsseln einrichten, um das Vertrauen zwischen zwei Servern zu erhöhen.

Umgebung einrichten


ssh client      : 66.152.163.19 (Ubuntu 18.04)

ssh remote Host : 173.82.2.236  (CentOS 7)

Generieren Sie SSH-Schlüssel auf dem Client-System ( 66.152.163.19 )

Der erste Schritt beim Einrichten einer passwortlosen Anmeldung besteht darin, ssh-Authentifizierungsschlüssel im Clientsystem zu generieren. SSH-Schlüssel sind digitale Schlüssel, die Vertrauen zwischen Linux-Systemen schaffen.

Um die ssh-Schlüssel zu generieren, führen Sie den Befehl aus.

$ ssh-keygen

Sie werden nach der Datei gefragt, in der der Schlüssel gespeichert werden soll. Drücken Sie die Eingabetaste, um im Standardverzeichnis zu speichern ( /root/.ssh)

Enter file in which to save the key (/home/user/.ssh/id_rsa):

Drücken Sie die Eingabetaste.

Als nächstes werden Sie nach einer Passphrase gefragt. Hier richten wir eine passwortlose Anmeldung ein, drücken Sie zweimal die Eingabetaste, um zu überspringen.


Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Drücken Sie bei beiden Gelegenheiten die Eingabetaste.

Die vollständige Ausgabe wird unten angezeigt.

Beispielausgabe

Das ssh-keygen Der Befehl generiert sowohl öffentliche als auch private SSH-Schlüssel und speichert sie in /root/.ssh Verzeichnis.

Zur Überprüfung ausführen:

ls /root/.ssh

Beispielausgabe

Der öffentliche Schlüssel wird durch id_rsa.pub bezeichnet .

Der private Schlüssel wird durch id_rsa bezeichnet .

Kopieren des öffentlichen SSH-Schlüssels auf das Remote-System (173.82.2.236)

Der nächste Schritt besteht darin, den öffentlichen Schlüssel auf den Remote-Linux-Server zu kopieren. Dies wird mit der ssh-copy-id erreicht Befehl wie unten gezeigt.

ssh-copy-id remote_username@server_ip_address

In unserem Beispiel lautet der Befehl:

ssh-copy-id [email protected]

Sie werden gefragt, ob Sie die Verbindung wirklich fortsetzen möchten. Geben Sie yes ein und drücken Sie die Eingabetaste

The authenticity of host '173.82.2.236 (173.82.2.236)' can't be established.
ECDSA key fingerprint is SHA256:U4aOk0p30sFjv1rzgh73uhGilwJ2xtG205QFqzB9sns.
Are you sure you want to continue connecting (yes/no)? yes

Als nächstes werden Sie nach dem Passwort des Remote-Systems gefragt. Geben Sie das Passwort ein und drücken Sie die Eingabetaste

[email protected]'s password:

Number of key(s) added: 1

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

Die vollständige Ausgabe wird unten angezeigt.

Der öffentliche ssh-Schlüssel wird unter /root/.ssh/authorized_keys gespeichert Datei auf dem Remote-System.

Anmelden beim Remote-System

Nachdem Sie den öffentlichen SSH-Schlüssel auf das Remote-System kopiert haben, können Sie sich jetzt anmelden, ohne wie gezeigt nach einem Passwort gefragt zu werden.

ssh server-ip-address

In unserem Fall lautet dies:

ssh 173.82.2.236

Und so richten Sie ein passwortloses SSH-Setup von einem Client-Linux-System zu einem Remote-Linux-Server ein.

  • Löschen Sie den öffentlichen Schlüssel vom Client-System. Wenn Sie glauben, dass der private Schlüssel kompromittiert ist, löschen Sie den öffentlichen Schlüssel vom Remote-Server und richten Sie ihn erneut ein.
  • Der obige SSH-Befehl funktioniert ohne Angabe einer Benutzer-ID, da wir den Root-Benutzer auf beiden Servern verwenden. Wenn Sie für einen anderen Benutzer eine passwortlose Anmeldung eingerichtet haben, geben Sie dies bitte auch im SSH-Befehl an.

Linux
  1. 3 Schritte zur SSH-Anmeldung ohne Passwort mit ssh-keygen &ssh-copy-id

  2. So richten Sie SSH-Schlüssel für die „kennwortlose“ SSH-Anmeldung unter Linux ein

  3. Wie passwortloses SSH unter Linux / UNIX funktioniert

  4. So vermeiden Sie, dass ssh die Schlüssel-Passphrase für passwortlose Anmeldungen auffordert

  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 Linux mit Schlüsseln 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-Anmeldung in AlmaLinux ein

Richten Sie die passwortlose SSH-Anmeldung für mehrere Remote-Server mit Skript ein

Generieren Sie SSH-Schlüssel für die passwortlose Anmeldung in Ubuntu