本文使用WSL连接容器,不过
win10 1709
以上版本已经自带ssh了,DOS窗口直接输入ssh
命令即可。
一、启动新容器,并为该容器暴露端口:
示例:以本机上的一个镜像centos7.4-ansible2.9.25
为例,在该windows上暴露了40000
端口,对应容器22
端口:
-
后台启动:
docker run -d --privileged=true -p 40000:22 centos7.4-ansible2.9.25 /usr/sbin/init
此处示例的40000
端口就是最后连接容器要用的端口。返回了一个
容器id
接下来要用到,来进入容器。
docker ps 也可以查询
二、检查容器中是否安装了ssh服务:
-
进入容器:
docker exec -it 容器id /bin/bash
-
rpm -qa | grep ssh
查询是否安装了ssh服务 -
未安装则:
yum install -y openssh-server # 本机被连接需要安装 yum install -y openssh-clients # 连接别的服务器本机需要安装
-
确保容器中的sshd配置文件以下2项配置为
yes
vi /etc/ssh/sshd_config
PermitRootLogin yes # 允许root身份登录 PasswordAuthentication yes # 登录该主机需要提供密码
-
容器中启动sshd服务:
systemctl start sshd.service
-
查看sshd服务是否启动:
systemctl status sshd.service
三、此时容器可能没有设置root密码:
- 输入命令
passwd
设置密码,用于从外部访问。
四、获取本机win10 IP地址:
- DOS命令中输入
ipconfig
五、进入wsl中执行:
ssh -p 40000 root@windows_ip
即可连接到容器中: