前言
vscode连接远程机器上的docker,应用太多了,此处是用win的PC连接远程ubuntuPC上运行的docker,docker是基于ubuntu20.04的博客部署系统~
又一个利器~
1,前提
宿主机连接本机上运行的docker,并用vscode连接,详见宿主机上vscode连接本机docker
2,docker上的ssh配置
在docker中修改sshd服务的配置文件,即/etc/ssh/sshd_config
,将端口号的配置项去掉注释即可。1
Port 22
注意:docker使用的ssh默认的端口号22,映射到主机上的端口号是8022(详情见宿主机上vscode连接本机docker)
3,远程主机(非docker)开放端口
此处主机上开放的端口是8022,也就是docker run
时用来映射docker内22的端口,就不赘述了~1
sudo iptables -I INPUT -p tcp --dport 8022 -j ACCEPT
4,测试连接
- 配置免密访问
密码登录请自行测试,为了方便,本文采用了密钥对来免密访问。
复制本机(我的路径是C:\Users\xinwen.ssh\id_rsa.pub)的公钥到docker的可信赖机器中(/root/.ssh/authorized_keys)。
- ssh连接测试其中,192.168.1.18是远程主机的ip,xinwen是远程主机上的用户,8022是远程主机上开放给docker的端口,root是docker中部署了hexo博客系统的用户。
1
2
3
4
5# 本机连接远程主机
ssh xinwen@192.168.1.18
# 本机连接远程主机上的docker
ssh root@192.168.1.18 -p 8022
5,本机vscode上的插件
Remote-SSH
登录命令1
ssh root@192.168.1.18 -p 8022
6,总结
docker(端口22)->远程主机(端口8022)->本机
本文中对应的系统:
ubuntu20.04->ubuntu20.04->windows