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
border-radius:10px; /* Alle Ecken sind mit einem ...
Inhaltsverzeichnis Demo1 Fragment erstellen Svelt...
1. Verwenden Sie auf einem vernetzten Computer di...
Inhaltsverzeichnis 1. Einleitung 2. Erster Eindru...
systemd: Das Service-Systemctl-Skript von CentOS ...
Docker-Compose stellt Gitlab bereit 1. Docker ins...
In der MySQL-Datenbank ist Null eine häufige Situ...
Inhaltsverzeichnis Abfragehintergrund 1. Like-Abf...
Der Redakteur wollte vor Kurzem mit dem macOS-Sys...
Inhaltsverzeichnis Vorwort 1. Mit vue-cli 1. Defi...
Vorwort MySQL Version 8.0.23 fügt eine neue Funkt...
Inhaltsverzeichnis Methode 1: Rufen Sie die Funkt...
In diesem Artikel wird der spezifische Code des V...
Inhaltsverzeichnis Vorwort Vue-Aktualisierungsans...
Phrasenelemente wie <em></em> können d...