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

So konfigurieren Sie den SSH-Dienst so, dass Sie eine Verbindung zum Remote-Host herstellen können, ohne ein Konto und ein Kennwort einzugeben

齐天大圣
齐天大圣Original
2020-11-20 11:40:023507Durchsuche

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.

So konfigurieren Sie den SSH-Dienst so, dass Sie eine Verbindung zum Remote-Host herstellen können, ohne ein Konto und ein Kennwort einzugebenNachdem diese beiden Schritte eingerichtet sind, ist die passwortfreie Anmeldung abgeschlossen.

Der Client ist ein Linux-Host.So konfigurieren Sie den SSH-Dienst so, dass Sie eine Verbindung zum Remote-Host herstellen können, ohne ein Konto und ein Kennwort einzugeben

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn