ubuntu:14.04image上安装openssh-server无法通过root用户登陆


先说下我的环境吧

ubuntu14.04 64bit
Docker version 1.9.1, build a34a1d5

具体操作

- 启动容器(容器暴露了ssh的22端口)

docker run -it -p 22 ubuntu:14.04 /bin/bash

  • 安装ssh并且启动


apt-get install openssh-server openssh-client
service ssh start

  • 修改root密码,root密码修改为root


passwd root

  • 在主机上查看容器的状态

8a30e6ce8c44        adolphlwq/ubuntu_jre8            "/bin/bash"         36 minutes ago      Up 36 minutes               0.0.0.0:32800->22/tcp


可知22端口对应主机的32800端口
- 在主机上ssh连接
geek@prod:~$ ssh root@0.0.0.0 -p 32800
root@0.0.0.0's password: 


输入密码root3次提示错误

root@0.0.0.0's password: 
Permission denied, please try again.
root@0.0.0.0's password: 
Permission denied, please try again.
root@0.0.0.0's password: 
Permission denied (publickey,password).
geek@prod:~$ 

  • 为了验证我的ssh没有问题,我新建了用户test,密码也设置为test再次登陆

geek@prod:~$ ssh test@0.0.0.0 -p 32800
test@0.0.0.0's password: 



ssh密码登陆成功!
我很郁闷,不知道问题处在哪里!难道root的密码没有修改成功?
已邀请:

adolphlwq - https://blog.adolphlwq.xyz

赞同来自:


问题已经解决了.
docker容器中默认不允许root用户登陆.需要修改/etc/ssh/sshd_config中的
PermitRootLogin without-password

为:
PermitRootLogin yes

就好了

参考连接

要回复问题请先登录注册