参考资料:
https://www.jianshu.com/p/c4d4ee6f3663
https://blog.csdn.net/yalishadaa/article/details/69949022
https://blog.csdn.net/m0_37961948/article/details/77894307
写这篇文章的动机如下:我拉了一个docker,但是每次都从宿主机登录到docker看起来十分麻烦。于是我想先做一个端口映射,然后直接通过一个公网的IP加端口登录到docker中!下面是我的做法。
1. 首先当然要拉一个docker,并且要做一个端口映射。ssh的默认端口是22,所以我们可以选择一个宿主机的端口XX,和docker容器的22号端口作一个映射。这样访问宿主机的XX端口时,访问的就是docker的22号端口。
2. 完成第一步之后需要在docker里面安装ssh服务。这时我们需要安装openssh-server这个软件。
apt-get update # 可选,更新apt-get的源 apt-get install openssh-server
安装完成后使用 service ssh start 命令打开ssh服务。会显示下面字样:
* Starting OpenBSD Secure Shell server sshd [ OK ]
3. 完成第2步之后,我们就可以尝试使用ssh登陆宿主机的XX端口了,第一次登陆需要将主机添加到信任host里面,但是!它会问你密码?这个密码是啥呢?我登录也没用密码啊。别急,还需要下面几个操作。
1)使用passwd命令设置登陆密码
2)vim /etc/ssh/sshd_config
将PermitRootLogin的值改为yes
3)vim /etc/ssh/sshd_config
将PasswordAuthentication的值改为yes
完成以上三步之后 service restart ssh重启ssh服务,再次登陆!是不是可以啦!