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
Inhaltsverzeichnis Vorwort: 1. Einführung in die ...
Klären Sie zunächst einige Konzepte: JDBC: Java-D...
Inhaltsverzeichnis 01 Einführung in MySQL Router ...
Ereignisschleife in js Da JavaScript ein Single-T...
Better-Scroll-Bildlaufprinzip Als übergeordneter ...
Was sind XHTML-Tags? XHTML-Tag-Elemente sind die ...
In diesem Artikel finden Sie das Installations-Tu...
1. Klicken Sie unten in IDEA auf Terminal und geb...
In diesem Artikelbeispiel wird der spezifische Co...
Bereitstellen des Projekts in der Testumgebung de...
Ich habe einmal versprochen, dass ich so lange wei...
Wir alle wissen, dass die zugrunde liegende Daten...
herunterladen Download-Adresse: https://redis.io/...
Inhaltsverzeichnis Kombinieren von Lookahead und ...
1. Arbeitsteilung und Prozess <br />Bei Tud...