centos
docker pull centos:latest
下載centos7鏡像
docker run -i -t centos:latest /bin/bash
運(yùn)行下載好的centos7鏡像
yum install passwd openssl openssh-server -y
啟動(dòng)sshd:
/usr/sbin/sshd -D
這時(shí)報(bào)以下錯(cuò)誤:
<pre>
[root@ b5926410fe60 /]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
</pre>
執(zhí)行以下命令解決:
<pre>
[root@b5926410fe60 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@b5926410fe60 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@b5926410fe60 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
</pre>
然后,修改 /etc/ssh/sshd_config 配置信息:
- 將端口22的注釋去掉、permitrootlogin yes打開(kāi)、protocol 2打開(kāi)
- UsePAM yes 改為 UsePAM no
- UsePrivilegeSeparation sandbox 改為 UsePrivilegeSeparation no
接著執(zhí)行
<pre>
[root@b5926410fe60 /]# sed -i "s/#UsePrivilegeSeparation./UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
[root@b5926410fe60 /]# sed -i "s/UsePAM./UsePAM no/g" /etc/ssh/sshd_config
</pre>
修改完后,重新啟動(dòng)sshd
/usr/sbin/sshd -D
修改容器中的密碼
通過(guò)passwd
命令
通過(guò)上述操作,再將此時(shí)容器保存為鏡像
docker commit b5926410fe60 centos7-ssh
刪除之前的容器
基于新鏡像運(yùn)行容器
docker run -d -p 10022:22 centos7-ssh:latest /usr/sbin/sshd -D
從遠(yuǎn)程連接
ssh root@宿主機(jī)ip -p 10022
到此為止,成功。
ubuntu
ubuntu操作類(lèi)似,參考