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
In diesem Artikel werden anhand von Beispielen di...
Manchmal ist es schön, ein paar nette Scrollbar-E...
1. <select style="width:195px" name=&...
Als Front-End-Ingenieure müssen wir mit dem IE ve...
Inhaltsverzeichnis Die Auswirkungen der gemischte...
Inhaltsverzeichnis 1. LVS-Lastausgleich 2. Grundl...
1. Einleitung MySQL Group Replication (kurz MGR) ...
Mehrere Teile von Compose befassen sich in irgend...
Bitte sehen Sie sich den folgenden Screenshot an,...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vorwort LED-Trigger Entdecken ...
Lösung für das Problem, dass in Linux kein Entpac...
1. Verwenden Sie die Geschwindigkeitskontrollfunk...
Dieser Artikel beschreibt die Support- und Proble...
In diesem Artikelbeispiel wird der spezifische Co...