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
Ergebnis: Der Hauptteil besteht darin, die Codelo...
Da das, was ich zuvor geschrieben habe, nicht det...
Inhaltsverzeichnis Vorwort 1. Verstehen mit Beisp...
Aufgrund der Anforderungen des Arbeitsprojekts is...
Ich habe kürzlich an einer Kommentarfunktion gear...
Vorwort Vor kurzem habe ich an einer Berichtsfunk...
Inhaltsverzeichnis 1. Der Elefant, der nicht in d...
Einführung Mit Animation können Sie mithilfe von ...
Inhaltsverzeichnis 1. Einleitung Zweites Training...
Um das Problem zu lösen, dass Deepin den Google C...
1. MySQL-Index Index: Eine Datenstruktur, die MyS...
MySQL 5.0 ist aufgrund seiner wenigen „erweiterte...
Informationen zu MySQL-Vorgängen abfragen Status ...
Vor einigen Tagen teilte die Bibliothek mit, dass...
Inhaltsverzeichnis 1. Einleitung 2. Grundsatz Pra...