参考: https://docs.docker.com/examples/running_ssh_service/
1. 创建一个空目录用于存放 Dockerfile
mkdir -p /home/thm/docker/test/new_image
vim Dockerfile
Dockerfile 的内容为:
FROM tanghuimin0713/ubuntu_amd64:
14.04
RUN apt
-
get
update
RUN apt
-
get
install -y openssh-
server
#RUN mkdir
/
var
/run/
sshd
RUN sed
-i
'
s/^PermitRootLogin/#PermitRootLogin/
'
/etc/ssh/
sshd_config
RUN echo
"
PermitRootLogin yes
"
>> /etc/ssh/
sshd_config
RUN echo
"
root:root
"
|
chpasswd
EXPOSE
22
2. build a image
docker build -t tanghuimin0713/ubuntu_amd64_ssh .
3. run a container
docker run -d -p 2222:22 tanghuimin0713/ubuntu_amd64_ssh /usr/sbin/sshd -D
4. 主机下 ssh 登陆 docker 容器
ssh root@localhost -p 2222
密码为: root
root@ubuntu:/home/thm/docker/test/new_image# ssh root@localhost -p
2222
The authenticity of host
'
[localhost]:2222 ([127.0.0.1]:2222)
'
can
'
t be established.
ECDSA key fingerprint
is
bd:
41
:3f:e4:e3:bd:b4:
46
:
54
:fe:1b:
46
:eb:
60
:f3:
73
.
Are you sure you want to
continue
connecting (yes/no)?
yes
Warning: Permanently added
'
[localhost]:2222
'
(ECDSA) to the list of known hosts.
root@localhost
'
s password:
Welcome to Ubuntu
14.04
LTS (GNU/Linux
3.13
.
0
-
32
-
generic x86_64)
* Documentation: https:
//
help.ubuntu.com/
The programs included with the Ubuntu system are free software;
the exact distribution terms
for
each program are described
in
the
individual files
in
/usr/share/doc
/*
/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
root@db36812760ac:~#
成功。
若在 ssh 登陆时提示:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
!
@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY
!
Someone could be eavesdropping on you right now (man
-
in
-the-middle attack)!
It
is
also possible that a host key has just been changed.
The fingerprint
for
the ECDSA key sent by the remote host
is
bd:
41
:3f:e4:e3:bd:b4:
46
:
54
:fe:1b:
46
:eb:
60
:f3:
73
.
Please contact your system administrator.
Add correct host key
in
/root/.ssh/known_hosts to
get
rid of
this
message.
Offending ECDSA key
in
/root/.ssh/known_hosts:
5
remove with: ssh
-keygen -f
"
/root/.ssh/known_hosts
"
-R
172.17
.
0.2
ECDSA host key
for
172.17
.
0.2
has changed and you have requested strict checking.
Host key verification failed.
rm $HOME/.ssh/known_hosts 即可。

