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.登陸成功! 

相關文章
相關標籤/搜索