docker容器開啟sshd服務,模擬伺服器

2021-09-01 11:35:53 字數 2858 閱讀 6159

我們知道docker是可以用exec來直接訪問容器的,但是還不夠high,有時候要模擬伺服器的登入總不能用docker exec吧,來吧,老司機帶你飛!

以centos為例,需要幾步操作

1.安裝openssh-server

2.初始化root使用者密碼

3.開啟sshd服務

廢話不多說,dockerfile獻上

from centos

run yum install -y wget && \

wget -o /etc/yum.repos.d/centos-base.repo && \

yum install -y passwd && \

yum install -y openssh-server ssh-keygen && \

echo 'abcd1234' | passwd root --stdin

run ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -n "" -q && \

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -n "" -q && \

ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -n "" -q

#run systemctl enable sshd

cmd /usr/sbin/sshd && tail -f /var/log/wtmp

簡單解釋一下,

yum install -y wget && \

wget -o /etc/yum.repos.d/centos-base.repo && \

yum install -y passwd && \

yum install -y openssh-server ssh-keygen

echo 'abcd1234' | passwd root --stdin
run ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -n "" -q && \

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -n "" -q && \

ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -n "" -q

cmd /usr/sbin/sshd && tail -f /var/log/wtmp
dockerfile目錄下執行,yeah,就是chenqionghe/centos映象,你也可以弄成自己的,例如muscle/lightwegiht

docker build -t chenqionghe/centos.

docker run --name centos_ssh -p 2222:22 -it chenqionghe/centos

這裡使用了2222埠來對映容器裡的22埠,執行起來就可以使用ssh連線了,輸出設定好的abcd1234密碼,注意,這裡用的是2222對映的埠  

➜  ~ssh[email protected] -p 2222

[email protected]'s password:

last login: tue nov 20 04:10:17 2018 from 172.17.0.1

[root@a8c8e0fbd74f ~]# ls -l /

total 56

-rw-r--r--   1 root root 12030 oct  6 19:15 anaconda-post.log

lrwxrwxrwx   1 root root     7 oct  6 19:14 bin -> usr/bin

drwxr-xr-x   5 root root   360 nov 20 04:09 dev

drwxr-xr-x  54 root root  4096 nov 20 04:09 etc

drwxr-xr-x   2 root root  4096 apr 11  2018 home

lrwxrwxrwx   1 root root     7 oct  6 19:14 lib -> usr/lib

lrwxrwxrwx   1 root root     9 oct  6 19:14 lib64 -> usr/lib64

drwxr-xr-x   2 root root  4096 apr 11  2018 media

drwxr-xr-x   2 root root  4096 apr 11  2018 mnt

drwxr-xr-x   2 root root  4096 apr 11  2018 opt

dr-xr-xr-x 223 root root     0 nov 20 04:09 proc

以上就是使用docker開啟ssh模擬伺服器的全過程,ubuntu應該也差不多,感舉的小夥伴可以試試

hight起來,light weight baby! 

Docker中開啟sshd服務

ssh服務安裝 開機自起 在 root目錄下建立run.sh指令碼,新增如下內容 bin bash service sshd restart while do sleep 10 done其實開機自起可以用cmd的,但是暫時不會。就統一用指令碼執行的方式防止退出,感覺可調控行蠻好的。儲存修改 開啟服務...

docker宿主機訪問docker容器服務失敗

原因 因為docker的虛擬ip網段是172.17.與區域網的ip網段172.17衝突了,所以有兩種方式 解決方法 一 修改docker網絡卡資訊,將網段改為與區域網不同的即可 linux修改方法 第一步 刪除原有配置 sudo service docker stop sudo ip link se...

ubuntu開啟sshd服務

ssh分客戶端openssh client和openssh server 如果你只是想登陸別的機器的ssh只需要安裝openssh client ubuntu有預設安裝,如果沒有則sudo apt get install openssh client 如果要使本機開放ssh服務就需要安裝openss...