因為要在兩臺服務器的容器上使用ucx實現(xiàn)GPU的RDMA,所以需要兩個容器之間ssh免密登錄
步驟如下(所有步驟均在容器內(nèi)部進行)
切換成root用戶
-
在容器內(nèi)部安裝openssh:
# apt-get install openssh-client openssh-server
-
編輯ssh的配置文件,更改ssh的端口:
# vim /etc/ssh/sshd_config
在最后一行加上Port 2233
為什么要有這步呢,主要是把容器內(nèi)的ssh端口(改為2233)和容器外的ssh端口(默認是22)區(qū)分開,如果不改變?nèi)萜鲀?nèi)的ssh端口的話,之后ssh默認是連接到容器外部的。
-
重啟ssh服務
# service ssh restart
之后切換成非root用戶(zcq)
- 生成ssh的公鑰私鑰:
$ ssh-keygen -t ed25519
其中-t ed25519
是為了讓生成的公鑰長度短一點,不加也行。 - 配置
authorized_keys
文件
進入~/.ssh
目錄,其中復制其中的id_ed25519.pub
文件里的公鑰的內(nèi)容:
同樣在~/.ssh
目錄中,創(chuàng)建authorized_keys
文件,將公鑰的內(nèi)容復制到其中。然后去另一臺服務器的容器中,將其的~/.ssh/id_ed25519.pub
公鑰的內(nèi)容復制進當前容器的authorized_keys
文件中。并在另一臺服務器上同樣創(chuàng)建authorized_keys
文件,并復制公鑰。
即,這步完成之后,兩臺服務器的有同樣的~/.ssh/authorized_keys
文件,其中的內(nèi)容相同,都分別是兩臺服務器的~/.ssh/id_ed25519.pub
- 配置config文件
在兩個容器的~/.ssh
目錄創(chuàng)建config文件,內(nèi)容如下:
Host r1d
HostName 10.0.0.1
User zcq
Port 2233
Host r4d
HostName 10.0.0.4
User zcq
Port 2233
解釋一下:文章來源:http://www.zghlxwxcb.cn/news/detail-839126.html
Host r1d # r1d是自己取的名字
HostName 10.0.0.1 #當前服務器的ip地址
User zcq #當前容器的用戶名
Port 2233 # 之前配置的 /etc/ssh/sshd_config 的 Port
Host r4d # 另一臺服務器的名字,可以任意取
HostName 10.0.0.4 #另一臺服務器的ip
User zcq # 另一臺服務器的用戶名
Port 2233 #同上
之后在r1d這個容器上,使用ssh r4d
就可以免密登錄到r4d了(第一次登錄按照提示輸入個yes
,之后就不用了)
\ |^_^| /文章來源地址http://www.zghlxwxcb.cn/news/detail-839126.html
到了這里,關(guān)于兩臺服務器上的兩個docker容器之間配置ssh免密登錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!