【Docker学习-12】在IDEA远程连接docker(附ssl连接加密)超级详细

打开你的服务器,分别执行下面的命令:

1.先在/usr/local目录下创建个文件夹,这里取名叫ca,然后进入ca文件夹中

mkdir -p /usr/local/ca
cd /usr/local/ca

2.创建一个key ,需要输入密码和确认密码,请记住这个密码

openssl genrsa -aes256 -out ca-key.pem 4096

3.根据提示分别输入国家,省份,城市,组织,等一系列信息(可以随便输,无所谓的其实)

openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem

你可以乱填,或者参考如下的填法

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Hangzhou, Zhejiang Province
Locality Name (eg, city) [Default City]:XIACHENG
Organization Name (eg, company) [Default Company Ltd]:WRETCHANT.COM
Organizational Unit Name (eg, section) []:ONLINE ZUOZUO
Common Name (eg, your name or your server's hostname) []:wracaca

4.生成server-key.pem,输入下面命令敲回车即可.

openssl genrsa -out server-key.pem 4096

5.绑定IP或者域名

把下面的$Host换成你自己服务器外网的IP或者域名:比如:openssl req -subj “/CN=192.168.1.0” -sha256…

或:openssl req -subj “/CN=www.laohan.com” -sha256…(这么做前提是你有域名,该域名DNS解析后指向你的服务器)

openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr

在这里插入图片描述

6.配置白名单

接下来要允许那些ip可以连接到服务器的docker,因为已经是ssl连接,所以我推荐配置0.0.0.0,也就是所有Ip都可以连接(但只有拥有证书的才可以连接成功),这样配置好之后公司其他人也可以使用.如果你不想这样,那你可以配置Ip,用逗号分隔开.下面的$Host依旧是你服务器外网的IP或者域名,请自行替换.(这里如果你使用的是服务器Ip的话,请将前面的DNS换成IP,否则配下来连接还是不会成功,如果你使用的是服务器域名,那么就用DNS就可以了)

echo subjectAltName = DNS:$HOST,IP:0.0.0.0 >> extfile.cnf

这里如果你设置的IP ,则需要吧DNS 改为IP,如图
在这里插入图片描述

7.生成ca-key

echo extendedKeyUsage = serverAuth >> extfile.cnf

8.执行下面语句,然后输入前面设置过的密码,用以生成ca-key.

openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out server-cert.pem -extfile extfile.cnf

在这里插入图片描述

9.生成客户端所需的key.pem,依旧在该服务器下执行下面命令,到时候把生成好的几个公钥私钥拷出去即可.

openssl genrsa -out key.pem 4096

在这里插入图片描述

10.执行下面命令:

openssl req -subj '/CN=client' -new -key key.pem -out client.csr
echo extendedKeyUsage = clientAuth >> extfile.cnf

11.生成cert.pem,需要输入前面设置的密码

openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem \-CAcreateserial -out cert.pem -extfile extfile.cnf

12.修改权限

chmod -v 0400 ca-key.pem key.pem server-key.pem
chmod -v 0444 ca.pem server-cert.pem cert.pem

13.把证书复制过去

cp server-*.pem  /etc/docker/
cp ca.pem /etc/docker/

14.修改docker配置:

vi /lib/systemd/system/docker.service

将ExecStart=/usr/bin/dockerd
替换为:

ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/etc/docker/ca.pem --tlscert=/etc/docker/server-cert.pem --tlskey=/etc/docker/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock

在这里插入图片描述

15.重启docker

systemctl daemon-reload
systemctl restart docker

16.开放2376端口

/sbin/iptables -I INPUT -p tcp --dport 2376 -j ACCEPT
iptables-save

17.重启docker

service docker restart

18.查看文件

ls -l

在这里插入图片描述

19.打开idea,远程连接linux

点击 Tools 选择Start SSH session…
在这里插入图片描述

点击Edit credentials… 然后就会出现下面的对话框
在这里插入图片描述
输入主机IP,账号,密码
在这里插入图片描述
填写服务器ip,端口号,用户名密码,请保存密码,ok后 点击Terminal
在这里插入图片描述
这样就连接上服务器了

20.下载linux的文件到本地

点击Tools 选择Deployment 在选择 Browse Remote Host
在这里插入图片描述
右侧会出现这个
在这里插入图片描述
点击这个,
在这里插入图片描述
然后输入名称,可以随便填写,Type请选择SFTP
在这里插入图片描述
填写完后,点击ok
在这里插入图片描述

在这里插入图片描述
然后再输入一系列的必要
在这里插入图片描述

就可以连上了
在这里插入图片描述

21.下载文件

打开目录usr/local/ca下载文件到本地。
在这里插入图片描述
文件下载到了项目目录
在这里插入图片描述

22.通过IDEA 的docker 插件进行连接

1、默认是tcp 的,你要改成https,端口你之前设置的什么端口就是什么端口,第十二步
2、然后选择你放证书的那个文件夹
在这里插入图片描述

23.连接到远程docker

成功连接
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43925089/article/details/106193871