通過ssh連線到docker容器中

2021-09-13 13:45:30 字數 1088 閱讀 3517

部落格作為學習筆記記錄,若有理解或表述錯誤,歡迎指出

我們可以通過ssh登入到伺服器、虛擬機器上完成操作。而容器是執行在伺服器上的,我們通過22埠(ssh預設服務埠)登進去的是伺服器介面.

一般情況下,要對容器執行一些操作,則為:

ssh root@docker exec -it bash
此時可以在容器內執行一些ssh命令。

那麼能不能直接登入到容器內執行命令呢,而不是通過docker exec來執行命令呢?

舉個栗子,容器映象以centos為例,直接ssh到容器內。

1. 起docker容器時,通過暴露容器服務埠,把host上50001(空閒埠)對映到容器內22埠,

docker run -itd -p 50001:22 --name ssh systemd /bin/bash
2. 在容器裡安裝ssh服務

yum install -y openssh-server openssh-client
2、 配置sshd_config

3、設定密碼

#修改root密碼

passwd root

#若無passwd命令,安裝passwd

yum install -y passwd

passwd root

4、啟動ssh服務

5、 遠端登入 

ssh root@-p 50001
若通過k8s yaml部署時,其對應yaml為:

apiversion: v1

kind: service

metadata:

name: ssh-my-centos

labels:

spec:

type: nodeport

ports:

- port: 50001

targetport: 22

nodeport: 30002

protocol: tcp

selector:

windows 通過ssh連線到Linux主機

ssh 為建立在應用層基礎上的安全協議。ssh 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。從客戶端來看,ssh提供兩種級別的安全驗證。1 遠端主機收到使用者的登入請求,把自己的公鑰發給使用者。2 使用者使用這個公鑰,將登入密碼加密後,傳送回來。3 遠端主機用自己的私鑰,解密登入密...

windows 通過ssh連線到Linux主機

1.確定linux主機已經開啟了ssh功能。1.1 確認sshserver是否啟動 ps e grep ssh 如果只有ssh agent那ssh server還沒有啟動,需要 etc init.d ssh start,如果看到sshd那說明ssh server已經啟動了 1.2 開啟ssh ser...

Xshell無法通過ssh連線到FreeBSD

通過vmware安裝了乙個freebsd虛擬機器,想著說用xshell遠端連線上去,但是總是出現下列錯誤 error pam authentication error for root查了一下資料,預設情況下,freebsd上的sshd是不允許root通過ssh遠端登入到伺服器上。只需要在 etc ...