So richten Sie die passwortfreie SSH-Anmeldung beim Linux-Server ein

So richten Sie die passwortfreie SSH-Anmeldung beim Linux-Server ein

Bei jeder Anmeldung am Testserver ist grundsätzlich die Eingabe eines Passwortes für die SSH-Anmeldung erforderlich. Es ist in Ordnung, wenn es wenige Anmeldungen gibt, aber wenn es zu viele Anmeldungen gibt, ist jede zusätzliche Befehlszeile überflüssig.

Anmeldemethode mit RSA-Authentifizierung

Erstellen eines Schlüsselpaars

Geben Sie den folgenden Befehl im Client-Terminal (lokaler Computer) ein

ssh-keygen -t [rsa|dsa]

RSA und DSA stellen unterschiedliche Algorithmen dar

Zum Beispiel:

ssh-keygen -t rsa

Drücken Sie einfach weiter die Eingabetaste (Sie müssen kein Passwort festlegen)

Die Schlüsseldatei und die private Schlüsseldatei id_rsa, id_rsa.pub werden generiert (wenn dsa verwendet wird, werden id_dsa, id_dsa.pub generiert)

Der Generierungsort befindet sich im Ordner /root/.ssh/ (ich verwende den Root-Benutzer, daher wird der Generierungsprozess unter Root nach dem Dateispeicherort fragen).

.ssh ist ein versteckter Ordner. Verwenden Sie ls -a, um ihn anzuzeigen.

Legen Sie den öffentlichen Schlüssel am angegebenen Speicherort des Servers ab

Methode 1: Direkte Kopie

1. Kopieren Sie den öffentlichen Schlüssel in den .ssh-Ordner des Root-Benutzers des Servers (kopieren Sie ihn in den .ssh-Ordner des Benutzers, mit dem Sie sich anmelden).

scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/

2. Installieren Sie den öffentlichen Schlüssel

Melden Sie sich beim Server an cd /root/.ssh/

cat id_rsa.pub >> autorisierte Schlüssel

Methode 2: Verwenden Sie zum Kopieren den Befehl ssh-copy-id (empfohlen)

Ein Befehl ist OK

ssh-Kopie-ID [email protected]

verifizieren

Wenn Sie kein Kennwort eingeben, ist der Vorgang erfolgreich, andernfalls schlägt er fehl.

Vorsichtsmaßnahmen

Der obige Vorgang wurde getestet und es gibt kein Problem

Je nach verwendeter Linux-Version und Benutzer gibt es Unterschiede.

Wenn ein Problem auftritt, beachten Sie die folgenden zwei Punkte

1. Dateiberechtigungsprobleme für id_rsa.pub und authorized_keys

chmod 600 autorisierte Schlüssel
chmod 700 ~/.ssh

2. SSH-Konfigurationsdatei

 vim /etc/ssh/sshd_config
 #RSA-Authentifizierung aktivieren, die Standardeinstellung ist „Ja“
 RSA-Authentifizierung ja
 Aktivieren Sie die Authentifizierung mit öffentlichem Schlüssel. Die Standardeinstellung ist „Ja“.
 PubkeyAuthentifizierung ja
 #root-Benutzer ssh loginPermitRootLogin yes

(Ich habe diese Konfigurationen nicht geändert, meine ist redhat7.2)

Anpassen eines einfachen Shell-Skripts

Erstellen Sie eine Datei im gemeinsamen Ordner

berühren 164.sh

Bearbeiten einer Datei

Dateiinhalt ssh [email protected]

 vim 164.sh
 #Inhalt hinzufügen ssh [email protected]
 Speichern und beenden: wq

Erhöhen Sie die Ausführungsberechtigungen des Benutzers

chmod u+x 164.sh

Es macht mehr Spaß, es mit der Tabulatortaste zu verwenden

./164.sh

Erwarten Sie die kennwortfreie Anmeldemethode mit dem Befehl

Vielleicht denken Sie, dass es nicht gut ist, das Serversystem zu betreiben. Natürlich können Sie es auch einfach lokal betreiben.

Die Verwendung des Befehls expect erfordert nur eine lokale Bedienung, vorausgesetzt, Sie haben den Befehl expect lokal

1. Erstellen Sie eine Datei

berühren expectssh.sh

Fügen Sie den folgenden Inhalt hinzu und ändern Sie den Benutzer, die IP-Adresse und das Passwort zu Ihren eigenen

 #!/usr/bin/expect -f
 Benutzernamen root festlegen 
 Hostnamen 172.16.0.164 festlegen 
 Passwort festlegen 123456
 erzeugen Sie ssh $Benutzername@$Hostname
 Zeitüberschreitung 1 festlegen
 erwarte { "ja/nein" 
  {sende "yes\r";exp_continue}
 }
 Erwartet wird „$username@$hostname's Passwort:“
 sende "$password\r"
 interagieren

2. Fügen Sie expectssh.sh Ausführungsberechtigungen hinzu

chmod u+x erwartetsh.sh

3. Befehle ausführen

erwarte erwartetsh.sh

(1. Muss mit dem Befehl „expect“ ausgeführt werden. 2. Sie können es in eine andere Ebene einbinden und zur Ausführung die Bash-Analyse verwenden.)

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Tutorial zur Konfiguration von SSH und Xshell für die Verbindung zum Server unter Linux (mit Bildern)
  • Methode zur Verhinderung von SSH-Cracking auf Linux-Servern (empfohlen)
  • Installieren Sie OpenSSH unter Windows und melden Sie sich beim Linux-Server an, indem Sie einen SSH-Schlüssel generieren.
  • So laden Sie Dateien und Ordner über SSH auf einen Linux-Server hoch
  • Das Paramiko-Modul unter Python implementiert eine SSH-Verbindung zur Anmeldung beim Linux-Server
  • Verwenden von WinSCP und Stapelverarbeitung unter Windows zum Hochladen von Dateien auf einen Linux-Server über den SSH-Port
  • Vier Tipps zum Konfigurieren eines sicheren SSH-Zugriffs auf Linux-Servern
  • Codebeispiel für die Linux-SSH-Serverkonfiguration

<<:  Tutorial zur Verwendung von Profilen in MySQL

>>:  Detaillierte Analyse des Diff-Algorithmus in React

Artikel empfehlen

Design-Sharing der Download-Seite des Pengyou.com-Mobilclients (Bild und Text)

Schauen wir uns zunächst einige einfache Daten an:...

Vue implementiert einen Wasserfallfluss mit unendlichem Laden

In diesem Artikelbeispiel wird der spezifische Co...

Lösen Sie das Problem der Docker-Protokollmontage

Der Schlüssel ist, dass der lokale Server keine S...

Ist es notwendig, dem Img-Bild-Tag ein Alt-Attribut zuzuweisen?

Fügen Sie dem img-Bild-Tag ein Alt-Attribut hinzu?...

Die Verwendung der Vue-Direktive v-bind und zu beachtende Punkte

Inhaltsverzeichnis 1. v-bind: kann einige Daten a...

Zusammenfassung der Kenntnisse und der Verwendung von Linux-VI-Befehlen

Detaillierte Erklärung des Linux-Befehls vi Der v...

Beispiel für die Konfiguration von Nginx im CentOS-Server

Laden Sie das sichere Terminal MobaXterm_Personal...

Problem mit Zeitzonenfehler im Docker-Container

Inhaltsverzeichnis Hintergrund Frage Problemanaly...

Schauen wir uns einige leistungsstarke Operatoren in JavaScript an

Inhaltsverzeichnis Vorwort 1. Null-Koaleszenzoper...

CSS3-Kategoriemenüeffekt

Die CSS3-Kategoriemenüeffekte sind wie folgt: HTM...