
3 つの仮想マシン (Ubuntu サーバー 22.04 LTS) を作成しました。1 つはコントロール用、2 つはノード用です。コントロールは正常に動作しており、アクセスできますが、ノード 1 にアクセスしようとすると、次のエラーが発生します。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
すでに制御用の IP アドレスが保存されています。 両方に同時にアクセスしたいと思います (必要な数だけ)。 どうすればいいですか? 別の既知のホストを強制的にリストに追加するにはどうすればよいですか?
よろしくお願いします
答え1
同様の問題これ。
解決策は2つあります。
- サーバーのフィンガープリントのコピー(セキュリティ上の問題により非推奨)
指紋( )を含むファイルを一致させると/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方式で問題を解決しました。まずVirtualBoxfile
で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 の競合は発生しません。