sshのホスト鍵を無視する方法

提供: セキュリティ
移動: 案内検索
スポンサーリンク

設定(設定ファイル、コマンド行引数)によりますが、ssh は、未知のホストに接続するときに、ホスト鍵をknown_hostsに追加するか聞いてきたり、ホスト鍵が変更されたときに接続を拒否したりします。安全ではないということを承知で、それでもホスト鍵を無視したいときには、StrictHostKeyCheckingを設定します。

読み方

StrictHostKeyChecking
すとりくと ほすと きー ちぇっきんぐ

概要

sshの設定の1つに StrictHostKeyChecking があり、このオプションは、「厳格なホスト鍵のチェック」を指示します。

取りうる値は、以下の通りです。

  • yes
  • no
  • ask (デフォルト)

yes の場合の動作は、以下の通りです。

  • sshコマンドは、known_hosts ファイルに自動的にホスト鍵を追加しません。
  • 鍵が変更されている場合には、ホストへの接続を拒否します。

トロイの木馬攻撃に対して、最大の防御となります。

no の場合の動作は、以下の通りです。

  • sshコマンドは、known_hosts ファイルに自動的にホスト鍵を追加します。

ask の場合の動作は、以下の通りです。

  • sshコマンドは、known_hosts ファイルに追加するかユーザに確認します。
  • 鍵が変更されている場合には、ホストへの接続を拒否します。

トロイの木馬攻撃に対して、最大の防御となります。

ホスト鍵を無視する方法

StrictHostKeyChecking no とした場合、新しいノードに接続したときに、known_hosts に追加されます。しかしながら、ホスト鍵が変更された場合、known_hostsから削除する必要があります。

UserKnownHostsFile を使用することで、ホスト鍵の削除を省くことができます。

ssh_configで無視する方法

ssh_config ($HOME/.ssh/config) で、ホスト鍵を無視するには、以下の設定を行います。

Host *.foo.com
	StrictHostKeyChecking no
	UserKnownHostsFile /dev/null

sshのコマンドラインオプションで無視する方法

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null foo.com

関連項目




スポンサーリンク