下載linux鏡像
- 下載ubuntu鏡像
docker pull ubuntu:18.04
- 更新軟件源
apt-get update
如果不是國外服務(wù)器,可以設(shè)置國內(nèi)網(wǎng)易軟件源
安裝和配置ssh服務(wù)
-
安裝ssh服務(wù)
直接使用apt命令隧哮,從軟件源中下載安裝軟件烧栋。
root@fc1936ea8ceb:/# apt-get install openssh-server
如果需要正常啟動SSH服務(wù)猛频,則目錄/var/run/sshd必須存在揭蜒。下面手動創(chuàng)建它其监,并啟動SSH服務(wù):
// 創(chuàng)建目錄 root@fc1936ea8ceb:/# mkdir -p /var/run/ // 啟動服務(wù) root@fc1936ea8ceb:/# /usr/sbin/sshd -D
此時查看容器端口,可以看到22號端口已被監(jiān)聽
root@fc1936ea8ceb:/# netstat -tunlp
如果發(fā)現(xiàn)找不到
netstat
命令乾忱,可以安裝net 工具:
apt-get install net-tools
-
修改ssh配置文件
-
編輯配置文件:
root@fc1936ea8ceb:/# vi /etc/ssh/sshd_config
- 修改SSH服務(wù)的安全登錄配置讥珍,取消pam登錄限制:
在文件中添加UsePAM no
- 允許root登錄,在文件添加
PermitRootLogin yes
- 修改SSH服務(wù)的安全登錄配置讥珍,取消pam登錄限制:
-
添加公鑰(公鑰登錄需要饭耳,口令登錄不用)
- 在主機生成公鑰:
一般為本地主機用戶目錄下的.ssh/id_rsa.pub文件串述,可由ssh-keygen-t rsa命令生成。若使用xshell登錄寞肖,在xshell上也可以生成公鑰纲酗。 - 將公鑰注冊到服務(wù)器:
root用戶目錄下創(chuàng)建.ssh目錄,并復(fù)制需要登錄的公鑰信息到authorized_keys文件中:
root@fc1936ea8ceb:/# mkdir root/.ssh root@fc1936ea8ceb:/# vi /root/.ssh/authorized_keys
創(chuàng)建自動啟動SSH服務(wù)的可執(zhí)行文件run.sh:
root@fc1936ea8ceb:/# vi /run.sh
內(nèi)容如下:#!/bin/bash /usr/sbin/sshd -D
添加可執(zhí)行權(quán)限:
root@fc1936ea8ceb:/# chmod +x run.sh
- 在主機生成公鑰:
退出容器
exit
-
保存容器為新的鏡像
// fc1 為容器名
$ docker commit fc1 sshd:ubuntu
將容器端口綁定到主機
-
創(chuàng)建并啟動容器新蟆。將容器的22端口觅赊,綁定到主機的10022端口。
docker run -p 10022:22 -d new-image /root/.ssh/run.sh
image.png -
查看容器狀態(tài)
可以看到容器端口已經(jīng)和主機的端口綁定成功琼稻。
image.png
使用xshell登錄
-
口令登錄
如下圖吮螺,使用口令登錄,輸入用戶名和密碼即可登錄成功帕翻。
image.png
image.png -
公鑰登錄
使用xshell生成公鑰鸠补,并將公鑰信息添加到/root/.ssh/authorized_keys文件中
-
設(shè)置authorized_keys權(quán)限
$ chmod 600 authorized_keys
-
設(shè)置.ssh目錄權(quán)限
$ chmod 700 -R .ssh