web-dev-qa-db-ja.com

ラウンドロビンDNSでsshホストキー検証を使用できますか?

ラウンドロビンDNSホスト名に基づいてサーバーにログインしています-「login.example.com」は、多数のサーバーのいずれかにアクセスできます。理想的には、known_hostsファイルを更新して、警告/エラーなしで任意のマシンに到達できるようにしたいと思いますが、すべてのサーバーに同じフィンガープリントを提示させる方法があればフォールバックになると思います。 /ホストキー。 this のような投稿を見たことがありますが、「ログインする静的IPを1つ選択する」というのは実際には選択肢ではありません。 realソリューションがある場合は、それが欲しいのですが。

3
Coderer

ラウンドロビンクラスター内のマシンを区別するためにsecureの方法が必要ない場合は、1つのホストキーをクラスター内の各マシンにコピーするだけです。

つまり、SSHホストキーチェックでは、それがクラスター内にあることは確認できますが、クラスター内の特定のマシンがどれであるかは確認できません。クラスタ内のマシンを区別するための安全でない方法として、静的IPアドレス(またはhostnameの出力)に依存することができます。

3
Spiff

これは私がうまくいくと思ったものです...

  1. 〜/ .ssh/known_hosts内のホストの既存のエントリをすべて削除します
  2. ホストがマップするIPアドレスの完全なリストを取得し、IPアドレスごとに...
ssh-keyscan -H -t rsa 10.X.X.X >> ~/.ssh/known_hosts

その後、問題が再び発生することはありません...ホスト名をで使用する場合

sshホスト名。

G

1

Sshは、DNSスプーフィングのリスクがないことを確認するために作成されているため、これを行うための本当に良い方法はありません。つまり、この回避策を使用できます。

ssh $(nslookup login.example.com | grep -v '#' | grep -m1 '^Address:' | cut -d \  -f 2)

基本的に、これはIPを検索し、ホスト名の代わりにIPアドレスを使用します。これにより、サーバーがIPアドレスも変更しない限り、問題が解消されます。

0
LassePoulsen