Ich verstehe die Theorie nicht richtig, deshalb vergesse ich sie oft und überprüfe sie oft. SSH-Verbindung ohne Passwort.
Dieser Beitrag ist nur eine Neuorganisation des Inhalts der leicht verständlichen Website, die meine Senioren in der Vergangenheit hochgeladen haben, damit ich ihn leicht verstehen kann. Vielen Dank an alle meine Senioren.
Wenn ich ssh von einem Computer zu mehreren Computern / verschiedenen Betriebssystemen verbinde, möchte ich ohne Eingabe eines Kennworts darauf zugreifen. Wir werden den Verbindungsvorgang mit dem öffentlichen Schlüssel zusammenfassen und dabei berücksichtigen, dass Remote-Befehle anstelle einer einfachen Vereinfachung der Anmeldung ausgeführt werden.
Die diesmal angenommene Konfiguration ist wie folgt. [Verbindungsquelle]
Maschine | IP Adresse |
---|---|
Linux(CentOS) | 192.168.10.100 |
【Zugangspunkt】
Maschine | IP Adresse |
---|---|
Linux(CentOS) | 192.168.10.101 |
VMware ESXi | 192.168.10.200 |
Windows 10 Pro | 192.168.10.201 |
Erstellen Sie auf dem Verbindungsquellenserver ein Paar aus privatem Schlüssel und öffentlichem Schlüssel und übergeben Sie den öffentlichen Schlüssel an das Verbindungsziel. Dies ist die einzige Grundvoraussetzung.
Melden Sie sich also zuerst beim Verbindungsquellenserver an und erstellen Sie ein Schlüsselpaar. Melden Sie sich beim Root-Linux als Root an. Generieren Sie dann den Schlüssel mit dem folgenden Befehl. Wenn Sie mit rsa einen Schlüssel erstellen möchten, müssen Sie ihn nicht angeben.
# ssh-keygen
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:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx root@hostname
Sie werden aufgefordert, die Schlüsselspeicherdatei und die Passphrase festzulegen. Der Standardspeicherort für die Taste ist /root/.ssh/id_rsa. Drücken Sie einfach die Eingabetaste. Die Passphrase ist leer, da ich sie später für die automatisierte Verarbeitung verwenden möchte. Drücken Sie einfach die Eingabetaste.
Bestätigen Sie, dass der Schlüssel generiert wurde.
# cd .ssh
# ls
id_rsa id_rsa.pub known_hosts
Sie haben einen "privaten Schlüssel: id_rsa" und einen "öffentlichen Schlüssel: id_rsa.pub".
Zunächst das Verfahren für Linux (CentOS 7). Es wird davon ausgegangen, dass sshd des Verbindungsziel-Linux-Servers aktiviert ist.
Übergeben Sie den an der Verbindungsquelle erstellten öffentlichen Schlüssel an das Verbindungsziel Linux.
Ich habe scp benutzt, um die Schlüssel zu übergeben. Zu diesem Zeitpunkt wird der öffentliche Schlüssel natürlich nicht verwendet. Geben Sie daher das Kennwort ein.
Führen Sie an der Verbindungsquelle aus
# scp /root/.ssh/id_rsa.pub [email protected]:/root/
Melden Sie sich als Root beim Verbindungsziel Linux an und fügen Sie den übergebenen öffentlichen Schlüssel zu .ssh / authorized_keys hinzu.
Am Verbindungsziel ausführen
# mkdir .ssh
# chmod 700 .ssh
# cat id_rsa.pub >> .ssh/authorized_keys
# rm id_rsa.pub
Ändern Sie einen Teil von sshd_config des Verbindungsziels.
Am Verbindungsziel ausführen
# vi /etc/ssh/sshd_config
Ändern Sie nur einen Ort für die Authentifizierung mit öffentlichem Schlüssel. Entfernen Sie einfach das # am Anfang.
Am Verbindungsziel ausführen
PubkeyAuthentication yes
Starten Sie den Dienst nach dem Umschreiben neu.
# systemctl restart sshd
Jetzt können Sie vom Quell-Linux aus auf das Ziel-Linux zugreifen, ohne nach einem Kennwort gefragt zu werden.
Als nächstes werden die Einstellungen für VMware ESXi 6.7 Update 3 vorgenommen.
Der ESXi sshd-Dienst ist standardmäßig deaktiviert. Aktivieren Sie ihn daher.
--Öffnen Sie einen Browser und greifen Sie auf das Ziel-ESXi zu.
Dadurch wird der sshd-Dienst gestartet, und der sshd-Dienst wird beim nächsten Neustart von ESXi angezeigt.
Übergeben Sie den an der Verbindungsquelle erstellten öffentlichen Schlüssel an das Verbindungsziel ESXi. Übergeben Sie es erneut als scp.
sh:Führen Sie an der Verbindungsquelle aus
# scp /root/.ssh/id_rsa.pub [email protected]:/
Melden Sie sich beim Verbindungsziel ESXi als root an und fügen Sie den übergebenen öffentlichen Schlüssel zu / etc / ssh / keys-root / authorized_keys hinzu.
Zugangspunkt(ESXi)Laufen Sie weiter
~] cat id_rsa.pub >> /etc/ssh/keys-root/authorized_keys
ESXi erfordert keinen Neustart des Dienstes. Das ist das Ende.
Wenn Sie Windows 10 Version 1803 oder höher haben, können Sie den SSH-Dienst hinzufügen. Die Additionsmethode ist wie folgt.
Apps
.
--Klicken Sie in Apps und Funktionen auf "Optionale Funktionen".
--Klicken Sie auf "Funktion hinzufügen".
--Wählen Sie "OpenSSH Server" und klicken Sie auf die Schaltfläche "Installieren".Da der Dienst nicht nur durch die Installation aktiviert wird, aktivieren Sie ihn mit der folgenden Methode.
Übergeben Sie den an der Verbindungsquelle erstellten öffentlichen Schlüssel erneut mit scp an das Verbindungsziel Windows 10. Der Benutzername unter Windows 10 lautet Tech.
Führen Sie an der Verbindungsquelle aus
# scp /root/.ssh/id_rsa.pub [email protected]:/
Nachdem der öffentliche Schlüssel nach Windows 10 kopiert wurde, wird er auf der Windows 10-Seite ausgeführt. Öffnen Sie PowerShell und schreiben Sie den empfangenen öffentlichen Schlüssel in ".ssh / authorized_keys", wo sich das Zuhause des Benutzers befindet.
Zugangspunkt(Windows10)Laufen Sie weiter
> mkdir .ssh
> cat C:\id_rsa.pub >> .ssh/authorized_keys
Die Konfigurationsdatei lautet "C: \ ProgramData \ ssh \ sshd_conf". Zuerst suchte ich, wo es war. .. .. Kommentieren Sie in dieser Datei eine Stelle aus und kommentieren Sie zwei Stellen. Insbesondere die Einstellung zum Aktivieren der Authentifizierung mit öffentlichem Schlüssel und die Einstellung, dass nur die autorisierten Schlüsseldateien unter der lokalen Kontrolle verwendet werden.
Original
#PubkeyAuthentication yes
(Kürzung)
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
↓
Nach der veränderung
PubkeyAuthentication yes
(Kürzung)
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Starten Sie danach den sshd-Dienst neu.
Jetzt können Sie ohne Kennwort eine SSH-Verbindung zu Windows herstellen.
https://qiita.com/Tanaaaaan/items/50c3f0ddc15c40b750d2 https://sig9.hatenablog.com/entry/2015/05/27/185218 http://ttm.jimba.ddo.jp/adiary.cgi/teraterm/0147 https://www.atmarkit.co.jp/ait/articles/1903/28/news005.html
Recommended Posts