- blogs:
- cles::blog

ssh で known_hosts 関連の警告が出ないようにする

ssh には known_hosts というファイルがあって、これまでにアクセスしたことがあるホストの fingerprint が保存されるようになっています。
初めてアクセスするホストであったり、ホストのキーが変更されていると ssh はユーザーにプロンプトを出して確認をしようとするのですが、バッチなどで ssh を使う場合にはそこで永久にブロックしてしまったりするのでこれが何かと厄介。少し前まではホストのキーが変わるなんていうことはそれこそほとんどありませんでしたが、最近はクラウドや仮想化でホストも簡単に作り替えられるようになったので、そのたびに yes/no で答えたり、known_hosts から該当行を削除したりと、手動のオペレーションが面倒になってきたのでこれらをスキップするための方法をメモ。ちなみにセキュリティレベルは下がりますので、その点は注意が必要です。
使うのは StrictHostKeyChecking と UserKnownHostsFile という2つのオプション。
以下のような感じで使います。
StrictHostKeyChecking は known_hosts のフィンガープリントが変わっていても(警告は出ますが)そのまま上書きして処理を継続するためのオプション。UserKnownHostsFile は known_hosts ファイルの場所を指定するためのオプション。これに /dev/null を指定すると常にファイルが空になるので、そもそも known_hosts が作られなくなるというわけです。
コマンドラインでいちいち打つのが面倒という場合には ssh_config に以下を追加しておけば良いでしょう。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8374
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(112851)
3 . 年次の人間ドックへ(112293)
4 . 2023 年分の確定申告完了!(1つめ)(111858)
5 . 三菱鉛筆がラミーを買収(111736)