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
関連項目
ツイート
スポンサーリンク