Heim > Artikel > Betrieb und Instandhaltung > So konfigurieren Sie den SSH-Dienst so, dass Sie eine Verbindung zum Remote-Host herstellen können, ohne ein Konto und ein Kennwort einzugeben
Wir wissen, dass das SSH-Protokoll durch Eingabe des Kontonamens und des Passworts eine Verbindung zum Remote-Server herstellen kann. Kann ich mich also direkt anmelden, ohne meine Kontonummer und mein Passwort einzugeben? Die Antwort ist ja, und auch in der täglichen Arbeit ist dieses Bedürfnis weit verbreitet. Wenn Sie beispielsweise scp für die externe Sicherung verwenden und scp in crontab schreiben möchten, das Konto und das Kennwort jedoch definitiv nicht in crontab eingeben können, müssen Sie sich ohne Konto und Kennwort anmelden.
ssh ist ein asymmetrisches Verschlüsselungsprotokoll mit öffentlichen und privaten Schlüsseln. Der öffentliche Schlüssel wird zum Verschlüsseln von Informationen verwendet. Jeder Host speichert die öffentlichen Schlüssel anderer Hosts in der Datei „known_hosts“ im Verzeichnis „.ssh“ seines eigenen Home-Verzeichnisses. Wenn Sie auf Konto und Passwort verzichten möchten, ist dieser öffentliche Schlüssel der entscheidende Punkt.
Angenommen, es gibt einen Server-Host SERVER und einen Client-CLIENT. Der Client möchte eine Verbindung zum SERVER herstellen, ohne sich anzumelden. Hängen Sie dann einfach den öffentlichen Schlüssel des Clients an das Ende von ~/.ssh/authorized_keys auf dem SERVER-Computer an. Im Folgenden wird gezeigt, wie Sie sich in zwei Situationen ohne Passwort anmelden können:
Der Client ist ein Windows-System
Der Client ist ein Linux-System
Der Client ist ein Windows-System
Der erste Schritt besteht darin, ein geheimes Schlüsselpaar zu generieren. Hier verwenden wir das Git-Tool, um ein geheimes Schlüsselpaar zu generieren (wie man Git auf einem Windows-System installiert, können Sie selbst überprüfen, es ist sehr einfach, folgen Sie einfach dem nächsten Schritt).
ssh-keygen
Nach der Eingabe des obigen Befehls im Git-Terminal wird eine Reihe von Eingabeaufforderungen angezeigt. Geben Sie direkt die Eingabetaste ein (insgesamt müssen Sie die Eingabetaste dreimal eingeben). Danach können Sie den öffentlichen Schlüssel und den privaten Schlüssel im Verzeichnis $HOMT/.ssh/ sehen. Der mit pub endende Schlüssel ist der öffentliche Schlüssel.
admin@LAPTOP-7P19B9SH MINGW64 ~/.ssh $ ll total 13 -rw-r--r-- 1 admin 197121 1679 5月 3 2019 id_rsa -rw-r--r-- 1 admin 197121 398 5月 3 2019 id_rsa.pub
Laden Sie als Nächstes den öffentlichen Schlüssel auf den Server hoch und hängen Sie dann die Informationen zum öffentlichen Schlüssel an ~/.ssh/authorized_keys an.
# cat id_rsa.pub >> .ssh/authorized_keys
Im Folgenden wird gezeigt, wie Sie sich mit xshell ohne Passwort anmelden können. Der erste Schritt besteht darin, die IP des Remote-Hosts einzugeben. Der zweite Schritt besteht darin, auf Benutzerauthentifizierung zu klicken und dann die Methode auszuwählen als öffentlicher Schlüssel. Geben Sie dann den Benutzernamen ein, hier tragen wir root ein. Wählen Sie abschließend den Schlüssel aus. Beachten Sie, dass Sie hier den privaten Schlüssel auswählen müssen, nicht den öffentlichen Schlüssel.
Nachdem diese beiden Schritte eingerichtet sind, ist die passwortfreie Anmeldung abgeschlossen.
Der Client ist ein Linux-Host.
Der erste Schritt besteht darin, ein geheimes Schlüsselpaar zu generieren in den Remote-Host# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:GCyx2cSYE6yR7xCuUVOF0Omvp5fEoxv0Y2wOQvMRB98 root@lijia The key's randomart image is: +---[RSA 2048]----+ | .*=Oo | | * OX.. | | o B=.* E | |. + o+ o | | ooooo. S | |.. +.+= | | . ++*o | | .o*+. | | o=. | +----[SHA256]-----+Weitere verwandte technische Artikel finden Sie in der Spalte Linux-System-Tutorial!
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie den SSH-Dienst so, dass Sie eine Verbindung zum Remote-Host herstellen können, ohne ein Konto und ein Kennwort einzugeben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!