環境說明
需求 : 透過Web 瀏覽器來登入後端的SSH Server
優點 : 方便 、快捷 、安全、可控
環境 : VMWare Workstation NAT 模式的 VM
實現 : CentOS + Docker
一、docker安裝
1、使用官方安裝指令碼自動安裝
環境準備:虛擬機器可以聯通網際網路,聯網執行指令碼安裝即可。
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
2、啟動docker
systemctl start docker
3、檢視docker守護程序
ps aux | grep docker
root 3835 0.2 5.6 578936 56768 ? Ssl 05:51 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
二、安裝nginx容器
1、下載nginx映象
docker pull nginx:latest
2、檢視映象
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 08b152afcfae 11 days ago 133MB
3、後臺啟動容器並對映容器的80埠到宿主機的8080
docker run --name nginx-test -p 8080:80 -d nginx
4、檢視容器執行狀態
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
391ae10d6e3a nginx "/docker-entrypoint.…" 26 hours ago Up 26 hours 0.0.0.0:8080->80/tcp, :::8080->80/tcp nginx-test
5、配置預設網頁,修改index.html檔案
cd /usr/share/nginx/html
tee index.html <<EOF
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<p><b>說明:這是空中動手實驗室的最簡單的演示介面</b> </p>
<iframe src="http://192.168.234.128:8090/?hostname=172.17.0.4&username=root&password=root= " name="iframe_a" width=1000 height=400></iframe>
</body>
</html>
EOF
6、檢視index.html
cat index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</title>
</head>
<body>
<p><b>說明:這是空中動手實驗室的最簡單的演示介面</b> </p>
<iframe src="http://192.168.234.128:8090/?hostname=172.17.0.4&username=root&password=root= " name="iframe_a" width=1000 height=400></iframe>
</body>
</html>
三、安裝webssh容器
1、下載映象
docker pull ascs/webssh:alpine-3.9
2、啟動容器並對映埠
docker run -d --privileged --name webssh -p 8090:80 ascs/webssh:alpine-3.9
3、檢視容器狀態
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1e8b1559be9 ascs/webssh:alpine-3.9 "wssh --port=80 FORE…" 24 hours ago Up 24 hours 22/tcp, 443/tcp, 8000/tcp, 0.0.0.0:8090->80/tcp, :::8090->80/tcp webssh
四、建立sshd容器
1、下載映象
docker pull ubuntu
2、啟動並互動式進入容器容器
docker run -it ubuntu:latest /bin/bash
以下操作在容器中進行
3、更新apt快取,安裝openssh-server
apt-get update; apt-get install openssh-server -y
4、啟動SSH服務
mkdir -p /var/run/sshd
/usr/sbin/sshd -D &
5、檢視服務狀態
netstat -tunlp(apt-get install net-tools安裝netstat)
6、修改SSH服務安全登入配置,取消pam登入限制(用到sed編輯器)
sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so/g' /etc/pam.d/sshd
7、本地主機獲取宿主機公鑰
sudo ssh-keygen -t rsa
sudo cat /root/.ssh/id_rsa.pub(建立在/root/.ssh/下面)
8、將公鑰複製到容器下面檔案裡
mkdir root/.ssh
vi /root/.ssh/authorized_keys
9、固化映象(宿主機測試)
docker commit 1318b700e415 sshd:ubuntu
五、訪問測試
訪問 http://宿主機ip:8080