Standardmäßig läuft Docker über einen nicht vernetzten UNIX-Socket. Es können auch HTTP-Sockets zur optionalen Kommunikation verwendet werden. # CA-Zertifikatsverzeichnis erstellen [root@localhost ~]# mkdir tls [root@localhost ~]# cd tls/ # CA-Schlüssel erstellen [root@localhost tls]# openssl genrsa -aes256 -out ca-key.pem 4096 Generieren eines privaten RSA-Schlüssels, 4096 Bit langes Modul ..............................................................................++ ....................................................................................................................................................................................................++ e ist 65537 (0x10001) Geben Sie die Passphrase für ca-key.pem ein: Überprüfen – Geben Sie die Passphrase für ca-key.pem ein: # CA-Zertifikat erstellen [root@localhost tls]# openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj "/CN=*" -out ca.pem Geben Sie die Passphrase für ca-key.pem ein: [root@localhost tls]# ll Gesamtdosis 8 -rw-r--r--. 1 root root 3326 3. Dezember 17:20 ca-key.pem -rw-r--r--. 1 Wurzel Wurzel 1765 Dez 3 19:03 ca.pem # Privaten Serverschlüssel erstellen [root@localhost tls]# openssl genrsa -out server-key.pem 4096 Generieren eines privaten RSA-Schlüssels, 4096 Bit langes Modul ................................................................++ ..................++ e ist 65537 (0x10001) [root@localhost tls]# ll Gesamtdosis 12 -rw-r--r--. 1 root root 3326 3. Dezember 17:20 ca-key.pem -rw-r--r--. 1 Wurzel Wurzel 1765 Dez 3 19:03 ca.pem -rw-r--r--. 1 root root 3243 3. Dezember 19:03 server-key.pem # Signieren Sie den privaten Schlüssel [root@localhost tls]# openssl req -subj "/CN=*" -sha256 -new -key server-key.pem -out server.csr [root@localhost tls]# ll Gesamtdosis 16 -rw-r--r--. 1 root root 3326 3. Dezember 17:20 ca-key.pem -rw-r--r--. 1 Wurzel Wurzel 1765 Dez 3 19:03 ca.pem -rw-r--r--. 1 root root 1574 3. Dezember 19:04 server.csr -rw-r--r--. 1 root root 3243 3. Dezember 19:03 server-key.pem Signieren Sie mit CA-Zertifikat und privatem Schlüssel und geben Sie das oben festgelegte Passwort ein [root@localhost tls]# openssl x509 -req -days 1000 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem Unterschrift ok Betreff=/CN=* Abrufen des privaten CA-Schlüssels Geben Sie die Passphrase für ca-key.pem ein: #Client-Schlüssel generieren [root@localhost tls]# openssl genrsa -out key.pem 4096 Generieren eines privaten RSA-Schlüssels, 4096 Bit langes Modul ....................................................................................................................................++ .................................++ e ist 65537 (0x10001) #Signieren Sie den Client [root@localhost tls]# openssl req -subj "/CN=client" -new -key key.pem -out client.csr #Konfigurationsdatei erstellen [root@localhost tls]# echo extendedKeyUsage=clientAuth > extfile.cnf #Zertifikat signieren [root@localhost tls]# openssl x509 -req -days 1000 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf Unterschrift ok Betreff=/CN=Kunde Abrufen des privaten CA-Schlüssels Geben Sie die Passphrase für ca-key.pem ein: [root@localhost tls]# ll Gesamtdosis 40 -rw-r--r--. 1 root root 3326 3. Dezember 17:20 ca-key.pem -rw-r--r--. 1 Wurzel Wurzel 1765 Dez 3 19:03 ca.pem -rw-r--r--. 1 root root 17. Dezember 3 19:35 ca.srl -rw-r--r--. 1 root root 1696 3. Dez. 19:35 cert.pem -rw-r--r--. 1 root root 1582 3. Dezember 19:29 client.csr -rw-r--r--. 1 root root 28 3. Dezember 19:32 extfile.cnf -rw-r--r--. 1 root root 3243 3. Dezember 19:08 key.pem -rw-r--r--. 1 root root 1647 Dez 3 19:08 server-cert.pem -rw-r--r--. 1 root root 1574 3. Dezember 19:04 server.csr -rw-r--r--. 1 root root 3243 3. Dezember 19:03 server-key.pem # Löschen Sie unnötige Dateien [root@localhost tls]# Testen auf dem Client [root@client ~]# docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H tcp://master:2376 version Kunde: Docker Engine – Community Version: 19.03.13 API-Version: 1.40 Go-Version: go1.13.15 Git-Commit: 4484c46d9d Erstellt: Mi., 16. September 2020, 17:03:45 Uhr Betriebssystem/Architektur: linux/amd64 Experimentell: falsch Server: Docker Engine - Community Motor: Version: 19.03.13 API-Version: 1.40 (Mindestversion 1.12) Go-Version: go1.13.15 Git-Commit: 4484c46d9d Gebaut: Mi Sep 16 17:02:21 2020 Betriebssystem/Architektur: linux/amd64 Experimentell: falsch Container: Version: 1.3.9 GitCommit: ea765aba0d05254012b0b9e595e995c09186427f laufen: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd Docker-Init: Version: 0.18.0 GitCommit: fec3683 Damit ist dieser Artikel über die Verwendung von TLS-verschlüsselter Kommunikation zur Remote-Verbindung mit Docker abgeschlossen. Weitere Informationen zur TLS-verschlüsselten Remote-Verbindung mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: HTML-Tabellen-Tag-Tutorial (26): Zellen-Tag
>>: So vergessen Sie das Root-Passwort in Mysql8.0.13 unter Windows 10
Bei der Installation des Quellcodes von CentOS6.9...
Wie unten dargestellt: 1. ssh -v -p [Portnummer] ...
Wenn wir eine Hintergrundfarbe mit Farbverlauf er...
Inhaltsverzeichnis Überblick 1. Erstellen eines R...
In diesem Artikel werden anhand von Beispielen di...
Was ist ein MIME-TYP? 1. Zunächst müssen wir verst...
In diesem Artikel wird der spezifische Code für d...
1. Fügen Sie das Plug-In hinzu und fügen Sie die ...
In letzter Zeit habe ich die MySQL-Datenbank unte...
Ein Datenbankindex ist eine Datenstruktur, deren ...
Was ich kürzlich gelernt habe, beinhaltet Kenntni...
Inhaltsverzeichnis 1. Funktion Entprellung 1. Was...
1. MySQL-Image herunterladen Befehl: docker pull ...
1. CSS-Navigationsleiste (1) Funktion der Navigat...
Inhaltsverzeichnis Ausgehend von der Typbeurteilu...