docker在三台节点创建密钥用ssh
时间: 2024-02-12 08:09:15 浏览: 201
docker-ssh-agent:通过SSH连接的Jenkins代理的Docker映像
要三台节点上创建 docker 密钥并使用 SSH 连接,您可以按照以下步骤进行操作:
1. 在每个节点上安装 Docker 和 OpenSSH 服务器。
2. 在任意一台节点上创建一个 TLS 密钥。
```bash
$ mkdir -p ~/certs
$ cd ~/certs
$ openssl genrsa -aes256 -out ca-key.pem 4096
$ openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
```
您需要输入一些信息来创建证书,如国家、省份、城市等。请确保为 Common Name(CN)输入您的节点的 IP 地址或域名。
3. 将生成的 ca.pem、ca-key.pem 文件复制到每个节点的 /etc/docker/certs.d 目录下。
```bash
$ ssh node1 "mkdir -p /etc/docker/certs.d"
$ scp ca.pem node1:/etc/docker/certs.d/
$ ssh node2 "mkdir -p /etc/docker/certs.d"
$ scp ca.pem node2:/etc/docker/certs.d/
$ ssh node3 "mkdir -p /etc/docker/certs.d"
$ scp ca.pem node3:/etc/docker/certs.d/
```
4. 在每个节点上编辑 /etc/docker/daemon.json 文件,指定 TLS 证书。
```json
{
"tlsverify": true,
"tlscacert": "/etc/docker/certs.d/ca.pem",
"tlscert": "/etc/docker/certs.d/server-cert.pem",
"tlskey": "/etc/docker/certs.d/server-key.pem",
"hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"]
}
```
注意:在这里,我们仅提供了一个示例文件。您需要使用您自己的服务器证书和密钥。
5. 在每个节点上安装 SSH 密钥,并在每个节点上启用 SSH 服务。
```bash
$ ssh-keygen -t rsa -b 4096
$ ssh-copy-id node1
$ ssh-copy-id node2
$ ssh-copy-id node3
$ sudo systemctl enable ssh
$ sudo systemctl start ssh
```
6. 在任何一个节点上启动 Docker 服务,并使用 SSH 连接到其他节点。
```bash
$ sudo systemctl start docker
$ ssh node1 sudo systemctl start docker
$ ssh node2 sudo systemctl start docker
$ ssh node3 sudo systemctl start docker
```
现在,您已经在三个节点上创建了 docker 密钥,并且可以在加密的安全通道上使用 Docker。
阅读全文