
10.0.0.*
私は定期的に、またはとしてアドレス指定される複数の VPN ネットワークとプロバイダーの背後にあるホストに接続する必要があります192.168.*.
。つまり、各 VPN ネットワークは、接続時にこれらの範囲のいずれかを自由に予約できます。このため、アドレスを10.0.0.*
特定のホストに結び付けることはできません。これは、接続している VPN によって異なるためです。または、代わりにワイヤレス ルーターに解決することもできます。
このため、私は、上記に一致する「イントラネット」アドレスを持つホストに対して、厳密なキー チェックを明示的に無効にしました~/.ssh/config
。
Host 192.168.* 10.0.0.*
StrictHostKeyChecking=no
UserKnownHostsFile=/dev/null
私はグーグルで検索し、他の SO の質問と回答を読んでこれらの手順を見つけました。
問題は、たとえば上記のアドレス範囲に接続するたびに、次のようなメッセージssh 10.0.0.16
が表示されることです。
Warning: Permanently added '10.0.0.16' (RSA) to the list of known hosts.
これは率直に言って真実ではありません。なぜなら、 はどこにでもあるから/dev/null
です (個人的には、これは醜いハックとしてよく使われていると思います)。 に何かを追加しても永続的ではないです/dev/null
よね? 端末が乱雑になり、そこに が表示されるたびに混乱してしまいます。
ssh に指紋を無視させて、上記の紛らわしいメッセージを印刷させないようにする方法はありますか?alias ssh='ssh 2>/dev/null'
そんな非常識なことはしたくありません。間違ったやり方をしてしまったのでしょうか? どのような選択肢があるのでしょうか? おそらく、他の選択肢があるのでしょうか? これ/dev/null
はハックだと私は考えています。だから私は罰せられているのです。
私がしたくないは、クライアント側のいくつかのホスト名にノードをエイリアスします~/.ssh/config
。この答えこれには2つの理由があります。
Host
特定のアドレス fe を解決するために、単に ssh をエイリアス (ディレクティブを使用) に設定することはできません。これは、接続先のさまざまな VPN プロバイダーによってアドレスが再利用されるためです (10.0.0.15
たとえば、ある VPN に接続するときは 1 つのホストになり、別の VPN に接続するときは別のホストになる場合があります)。 を~/.ssh/config
複数の VPN に「分割」する必要がありますか? また、これらの構成ファイルを適宜使用する必要がありますか?問題のノードは、同じイントラネット (最近では「クラウド」と呼ばれています) 上のかなり大規模なノード グループの一部である可能性があります。ノードの数は 100 に達することがあります。このような複数のノードをそれぞれのアドレスに「一括マップ」する方法がよくわかりません。
答え1
これは古い質問だとはわかっていますが、私もこの答えを探していました。そこで、将来 Google を使う人のために、私が見つけたものをここに示します。
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@host
これをエイリアスにバインドすると、作業が簡単になります。
alias ssh-nocheck='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
ssh-nocheck user@host
答えはhttps://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-host-key-checking.html
-編集: 書式設定
答え2
真正性チェックを無視すると、中間者攻撃を受ける危険にさらされるため、再検討することをお勧めします。
SSH 設定を変更して、「CheckHostIP」を no に設定し、各ホストのエントリをホスト ファイルに設定して、ホストではなく名前で接続することをお勧めします。(注: これは試していませんが、機能すると思います)。見てここでも同様です。