Appearance
为了能使用 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