docker ubuntu镜像安装ssh免登陆

1.docker pull ubuntu:14.04 #从dockerhub获取ubuntu14.04版本docker

2.docker run -vi ubuntu:14.04 /bin/bash #启动ubuntu14.04镜像,获得一个运行的容器ubuntu

3.apt-get update#更新ubuntu的源信息vim

4.apt-get install openssh-server  vim #获取openssh-server vim软件安全

5.mkdir -p /var/run/sshd #要正常启动SSH服务,须要目录/var/run/sshd存在,手动建立它,并启动服务 步骤6bash

6./usr/sbin/sshd -D &session

7.查看ssh是否启动ssh

netstat -tunlpui

##修改SSH服务的安全登陆配置,取消pam登陆限制:spa

8.sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g'  /etc/pam.d/sshdserver

#在root用户目录下建立.ssh目录,并复制须要登陆的公钥信息(在宿主机里面用ssh-keygen -t rsa 直接enter回车默认在/root/.ssh/里面会生成id_rsa和id_rsa.pub)把id_rsa.pub的内容copy到容器的authorized_keys文件里面来

9.mkdir /root/.ssh

10.vim /root/.ssh/authorized_keys

11.chmod 600 authorized_keys#附加600权限 这个貌似很重要。

建立自动启动SSH服务的可执行文件run.sh,并添加可执行权限:

12.vim /run.sh

添加内容:

#!/bin/bash
/usr/sbin/sshd -D

13.chmod 777 /run.sh

14.重点   修改容器/etc/ssh/sshd_config 中的UsePAM yes 改为no 要否则会致使登陆成功当即退出

15.exit退出

16.docker commit 容器ID ubuntu-ssh:latest#保存镜像

17.启动docker run -d -p 8888:22 ubuntu:latest /run.sh#映射宿主机的端口8888到容器的22端口

18.ssh -v 127.0.0.1 -p 8888 #须要对宿主机里面的/root/.ssh/.id_rsa文件受权为600 若是受权太大了会提示权限too open了

19.登陆成功! 

相关文章
相关标签/搜索