ラウンドロビンDNSホスト名に基づいてサーバーにログインしています-「login.example.com」は、多数のサーバーのいずれかにアクセスできます。理想的には、known_hostsファイルを更新して、警告/エラーなしで任意のマシンに到達できるようにしたいと思いますが、すべてのサーバーに同じフィンガープリントを提示させる方法があればフォールバックになると思います。 /ホストキー。 this のような投稿を見たことがありますが、「ログインする静的IPを1つ選択する」というのは実際には選択肢ではありません。 realソリューションがある場合は、それが欲しいのですが。
ラウンドロビンクラスター内のマシンを区別するためにsecureの方法が必要ない場合は、1つのホストキーをクラスター内の各マシンにコピーするだけです。
つまり、SSHホストキーチェックでは、それがクラスター内にあることは確認できますが、クラスター内の特定のマシンがどれであるかは確認できません。クラスタ内のマシンを区別するための安全でない方法として、静的IPアドレス(またはhostname
の出力)に依存することができます。
これは私がうまくいくと思ったものです...
ssh-keyscan -H -t rsa 10.X.X.X >> ~/.ssh/known_hosts
その後、問題が再び発生することはありません...ホスト名をで使用する場合
sshホスト名。
G
Sshは、DNSスプーフィングのリスクがないことを確認するために作成されているため、これを行うための本当に良い方法はありません。つまり、この回避策を使用できます。
ssh $(nslookup login.example.com | grep -v '#' | grep -m1 '^Address:' | cut -d \ -f 2)
基本的に、これはIPを検索し、ホスト名の代わりにIPアドレスを使用します。これにより、サーバーがIPアドレスも変更しない限り、問題が解消されます。