
我創建了三台虛擬機器(Ubuntu 伺服器 22.04 LTS),一台用於控制,兩台用於節點。控制工作正常,我可以存取它,但是當我嘗試存取 node1 時,出現此錯誤:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the (omissis) key sent by the remote host is
(omissis)
Please contact your system administrator.
Add correct host key in /home/(omissis)/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/(omissis)/.ssh/known_hosts:11
remove with:
ssh-keygen -f "/home/(omissis)/.ssh/known_hosts" -R "[(vm IP, omissis)]:3022"
Host key for [(vm IP, omissis)]:3022 has changed and you have requested strict checking.
Host key verification failed.
我認為這是因為虛擬機器共享IP位址,但known_hosts
其中的檔案~/.ssh
已經保存了控製檔案。我想同時訪問它們(只要我真正想要的)。我怎麼做?如何強制將另一個已知主機新增至清單?
先感謝您
答案1
類似的問題這。
有兩種可能的解決方案。
- 複製伺服器指紋(由於安全性問題不鼓勵)
如果您符合包含指紋( )的文件/etc/ssh/ssh_host*
,則不會因指紋不符而給予錯誤。
known_hosts
在客戶端建立多個文件
透過將主機配置新增至~/.ssh/config
,可以使用指向同一台機器的不同指紋。欲了解更多信息,請參閱man ssh_config
範例(來自連結):
Host windows.dualbootbox
Hostname 192.168.10.20
UserKnownHostsFile ~/.ssh/windows.dualbootbox.known_hosts
Host ubuntu.dualbootbox
Hostname 192.168.10.20
UserKnownHostsFile ~/.ssh/ubuntu.dualbootbox.known_hosts
答案2
所以我用 GUI 的方式解決了這個問題。首先,在 VirtualBox 上轉到file
並Host Network Manager
下一個,create
很快就到你成為虛擬節點的settings
然後network
選擇NAT
,然後Port Forwarding Rules
。使用+
右上角的小按鈕建立新的連接埠轉送規則。
為了
Name: ssh
Protocol: TCP
Host Port: 3022
Guest Port: 22
按ok
並轉至Adapter 2
。啟用它並選擇Host-only Adapter
啟用Adapter 3
並選擇Bridged Adapter
現在,您可以為叢集的每個節點重複每個步驟(第一步驟除外)。如果您這樣做,就不會出現 IP 衝突之類的問題。