1. vscode配置
打开vscode配置文件:
进行如下配置:
# 跳板机主机端口等设置
Host No3
HostName 39.107.224.138
User root
Port 22
# ssh 免密等登录/密钥地址
IdentityFile "/Users/tal/.ssh/id_rsa"
# 当前服务器起名为No4
Host No4
HostName 10.171.19.811
User root
Port 22
# 免密配置
IdentityFile "/Users/tal/.ssh/id_rsa"
# 使用No3作为跳板机来登录
ProxyCommand ssh -W %h:%p No3
如上,我们配置了No3作为跳板机,No4使用No3跳板登录
2. 免密登录
如上,我们在config中通过配置IdentityFile "/Users/tal/.ssh/id_rsa"
来进行免密登录。因此需要生成公钥和私钥,并且在服务器上进行配置。具体配置见 linux之连接服务器
3. vscode 连接容器
3.1 启动并进入容器
docker run -it -d -p 5022:22 -p 51001:3306 --name commtest af5c995cc3de
注意一定要将容器的22端口映射到某一个端口(此处是5022),后面会使用5022这个端口通过ssh来远程连接容器,启动时最好挂载一个文件夹,用于存放程序,否则无意义
通过如下命令进入容器
docker exec -it ddb68bf4f2c7 /bin/bash
通过如下命令为容器配置密码
修改容器的root密码:passwd
密码设置为:123456
3.2 安装启动配置 ssh server
- 若容器中没有安装ssh server, 通过如下命令进行安装
apt-get update
apt-get install openssh-server
- 已安装的通过
ps -e |grep ssh
命令查看ssh服务是否已经启动,若未启动使用如下命令启动
service ssh start
- 修改配置文件
/etc/ssh/sshd_config
获取远程ROOT权限,把配置文件中的PermitRootLogin without-password
加一个”#”号,把它注释掉,再增加一句PermitRootLogin yes
并保存,然后通过如下命令重启服务
service ssh restart
3.3 远程连接
- 在远程终端中通过ssh命令远程连接
ssh root@192.168.1.99 -p 5022
# @后面是容器所在服务器的ip, 端口为容器22端口映射对应的端口
- vscode中通过配置config文件来连接容器
4. 参考
vscode通过跳板机(堡垒机)连接remote服务器
VS code 连接远程服务器 免密登录设置
如何设置SSH远程连接docker容器