[LINUX] SSH-Verbindung mit öffentlichem Schlüssel

Einführung

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.

Was du machen willst

ssh.png

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

1. Generieren Sie einen privaten und einen öffentlichen Schlüssel an der Verbindungsquelle

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".

2. Verbindungszieleinstellung: Linux Edition

Zunächst das Verfahren für Linux (CentOS 7). Es wird davon ausgegangen, dass sshd des Verbindungsziel-Linux-Servers aktiviert ist.

Verteilung öffentlicher Schlüssel

Übergeben Sie den an der Verbindungsquelle erstellten öffentlichen Schlüssel an das Verbindungsziel Linux. key-scp.png

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 die sshd-Einstellungen und starten Sie die Dienste neu

Ä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.

3. Einstellung des Verbindungsziels: VMware ESXi

Als nächstes werden die Einstellungen für VMware ESXi 6.7 Update 3 vorgenommen.

Aktivieren Sie den ESXi sshd-Dienst

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.

Verteilung öffentlicher Schlüssel

Ü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.

4. Einstellung des Verbindungsziels: Windows 10 Pro

Hinzufügen von Funktionen

Wenn Sie Windows 10 Version 1803 oder höher haben, können Sie den SSH-Dienst hinzufügen. Die Additionsmethode ist wie folgt.

Aktivieren Sie den SSHD-Dienst für Windows 10 Pro

Da der Dienst nicht nur durch die Installation aktiviert wird, aktivieren Sie ihn mit der folgenden Methode.

Verteilung öffentlicher Schlüssel

Ü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

Ändern Sie die Einstellungen des sshd-Dienstes und starten Sie den Dienst neu

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.

Referenzierte Site

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

SSH-Verbindung mit öffentlichem Schlüssel
SSH-Verbindung mit öffentlichem Schlüssel
[SSH] Informationen zur Authentifizierung mit öffentlichem Schlüssel und zu EC2
SSH-Verbindung mit öffentlichem Schlüssel
So richten Sie die Authentifizierung mit öffentlichem Schlüssel mit ssh ein
Ssh-Verbindungsnotiz mit ProxyCommand von ssh_config in Python
So generieren Sie einen öffentlichen Schlüssel aus einem privaten SSH-Schlüssel
Löschen Sie die Passphrase für den privaten Schlüssel ssh
SQL-Verbindungsmethode mit pyodbc
Verwenden Sie die Authentifizierung mit öffentlichem Schlüssel und privatem Schlüssel für ssh. Verbindung von wan verbinden.
Authentifizierungssatz für öffentlichen SSH-Schlüssel für Sakura VPS Cent OS7.7 festgelegt
[Linux-Einstellungsserie] So legen Sie die Authentifizierung mit öffentlichem Schlüssel fest / ssh-keygen / ssh key / autorisierte_Tasten
Bis Sie VPS mit Conoha ausleihen und den öffentlichen Schlüssel mit SSH authentifizieren können