ssh遠程連接docker中linux(ubuntu/centos)


ssh遠程連接docker中linux(ubuntu/centos)

https://www.jianshu.com/p/9e4d50ddc57e

centos
docker pull centos:latest 下載centos7鏡像
docker run -i -t centos:latest /bin/bash運行下載好的centos7鏡像
yum install passwd openssl openssh-server -y
啟動sshd:
/usr/sbin/sshd -D
這時報以下錯誤:

[root@ b5926410fe60 /]# /usr/sbin/sshd
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key

執行以下命令解決:

[root@b5926410fe60 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@b5926410fe60 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@b5926410fe60 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

然后,修改 /etc/ssh/sshd_config 配置信息:

將端口22的注釋去掉、permitrootlogin yes打開、protocol 2打開
UsePAM yes 改為 UsePAM no
UsePrivilegeSeparation sandbox 改為 UsePrivilegeSeparation no
接着執行

[root@b5926410fe60 /]# sed -i "s/#UsePrivilegeSeparation./UsePrivilegeSeparation no/g" /etc/ssh/sshd_config
[root@b5926410fe60 /]# sed -i "s/UsePAM./UsePAM no/g" /etc/ssh/sshd_config

修改完后,重新啟動sshd
/usr/sbin/sshd -D
修改容器中的密碼
通過passwd命令
通過上述操作,再將此時容器保存為鏡像
docker commit b5926410fe60 centos7-ssh
刪除之前的容器
基於新鏡像運行容器
docker run -d -p 10022:22 centos7-ssh:latest /usr/sbin/sshd -D

從遠程連接
ssh root@宿主機ip -p 10022

到此為止,成功。

ubuntu
ubuntu操作類似,參考

參考資料
centos


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM