Last Updated on 2021年7月4日 by かんりにん
サーバー構築中によくある手間として、初めてsshでアクセスするホストから
fingerprintの確認ダイアログが出てきてyesする手間があるが、この手間を省略するのに
なんかオプションはあるのか探ってみたところ、man sshにてあっさり発見。
クライアント側のssh_configで"StrictHostKeyChecking"の引数を変更することで、対応可能。
- 参考:お世話になっております!
マニュアルページhttp://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5
※下記の実行ログは両方ともLAN環境にてパスなし公開鍵認証にしているので
パスワード入力のダイアログは省略されています。
たとえば、こんなとき
踏み台サーバー"fumidai-host(192.168.100.24)"から新規構築する"new-host(192.168.100.101)"へのsshアクセス例:
[user@fumidai-host ~]$ ssh new-host The authenticity of host 'new-host (***.***.***.***)' can't be established. RSA key fingerprint is a9:6a:33:d3:48:34:34:8e:94:1f:a3:a7:c1:bf:2c:35. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'new-host' (RSA) to the list of known hosts. Last login: Mon Oct 12 07:01:12 2010 from 192.168.100.24 [user@new-host ~]$
ということで、設定方法を以下に記載。
設定例
# vi /etc/ssh/ssh_config -[設定内容] 20c20 < # Host * --- > Host * 31a32 > StrictHostKeyChecking no
設定後、新規アクセスするサーバーにて試してみる。
設定後のアクセス
今回は別に新規構築するホスト、"new-host2(192.168.100.102)"へのログイン例。
[user@fumidai-host ~]$ ssh new-host2 Warning: Permanently added 'new-host2' (RSA) to the list of known hosts. Last login: Fri Oct 12 07:16:04 2010 from 192.168.100.24 ←初アクセスとなるので、この"Last login"は現在の時刻。 [user@new-host2 ~]$
→"Are you sure you want to continue connecting (yes/no)?"の問い合わせ無しで
新サーバーへログイン完了。
マニュアルページ(http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config&sektion=5)を見たところ
"This provides maximum protection against trojan horse attacks"とあり、
セキュリティ面を考慮すると適切とはいえないが、LAN内での使用に限定する、というような
ポリシーでの取り扱いであれば、わりと便利になるかと。
とりわけVMwareやxenなどでホストを大量に作成するときとか。
欲をいえば、コマンドラインでのオプションでfingerprint受け入れの有無を指定できれば
ベストかなとも感じる今日この頃。