harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

opensshにてfingerprint確認を省略する設定

   


サーバー構築中によくある手間として、初めてsshでアクセスするホストから
fingerprintの確認ダイアログが出てきてyesする手間があるが、この手間を省略するのに
なんかオプションはあるのか探ってみたところ、man sshにてあっさり発見。
クライアント側のssh_configで"StrictHostKeyChecking"の引数を変更することで、対応可能。

※下記の実行ログは両方とも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受け入れの有無を指定できれば
ベストかなとも感じる今日この頃。

 
 

OpenSSH[実践]入門 Software Design plus
技術評論社 (2014-11-05)
売り上げランキング: 42,575
実用SSH 第2版―セキュアシェル徹底活用ガイド
Daniel J. Barrett Richard E. Silverman Robert G. Byrnes
オライリー・ジャパン
売り上げランキング: 198,635

 

 - GNU/Linux, ssh, メモ