ssh登录docker容器

1、启动一个docker容器
# docker run -t -i ubuntu/ruby:v1 /bin/bash
2、然后在容器里,安装openssh-server openssh-client

#apt-get update

# apt-get install openssh-server openssh-client
3、完成之后,修改root密码
# passwd
4、退出容器,并保存以上修改
# docker commit 3ea7a99a0025 ubuntu/ruby:v2
5、停止,并删除刚才的容器
# docker stop [container-id]  
# docker rm [container-id]
查看容器id
# docker ps -a
查看镜像列表
# docker images
6、用刚保存的镜像,后台启动一个新的容器
 docker run --name [image-name] -i -t -p 50001:22 [image-id]
例: # docker run -d -p 50001:22 ubuntu/ruby:v2 /usr/sbin/sshd -D
7、ssh远程登录该容器
# ssh root@localhost -p 50001

如果想要通过ssh密钥登录,则在第2步,修改 /etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。
将本地.ssh下的id_rsa.pub上传到容器中的 id_rsa.pub,并 # mv /root/.ssh/id_rsa.pub/root/.ssh/authorized_keys,然后 # chmod 600 /root/.ssh/authorized_keys 即可.

ssh到server上的时候密码是对的但是报如下信息:
# ssh 172.16.81.221
[email protected]'s password:
Permission denied, please try again.

这个是由于如果不输入用户名的时候默认的是root用户,但是安全期间ssh服务默认没有开root用户的ssh权限

解决方法:

要修改root的ssh权限,即修改 /etc/ssh/sshd_config文件中
PermitRootLogin no  改为 PermitRootLogin yes

http://blog.sina.com.cn/s/blog_600e56a60102vwjc.html

猜你喜欢

转载自m635674608.iteye.com/blog/2334098