Skip to content
On this page

为了能使用 Jenkins 直接操作 Docker 容器,给容器开个 ssh 服务器。

开容器

bash
docker run -p 4922:22 -it --name my-ssh-server node /bin/bash
cat /etc/issue # 查看发行版和内核版本

修改 debian 更新源

向兲朝低头

bash
## /etc/apt/sources.list
deb http://mirrors.163.com/debian/ stable main
deb-src http://mirrors.163.com/debian/ stable main
bash
## 没有编辑器可以直接使用 echo
echo deb http://mirrors.163.com/debian/ stable main > /etc/apt/sources.list
echo deb-src http://mirrors.163.com/debian/ stable main >> /etc/apt/sources.list

开启 ssh server

bash
apt-get install openssh-server
service ssh start # 开启服务
ps -e | grep ssh # 判断是否已开启

新版本默认不允许 root 登录

可以修改配置文件 /etc/ssh/sshd_config

bash
## PermitRootLogin without-password
PermitRootLogin yes # 重启 ssh

重启服务器

bash
service ssh restart
## /etc/init.d/ssh restart 不行的?

生成镜像

bash
docker commit my-ssh-server my-ssh-server

然后就可以直接在宿主机用 root 密码登录了

bash
ssh [email protected] -p 4922

参考

Debian apt-get