Windows の PuTTY が known_hosts ファイルを解釈せず、また信頼したサーバの公開鍵をレジストリに書き込むと知ってショックを受ける。
それはそれとして、known_hosts からサーバの fingerprint を生成するコマンドってないんですね。ssh 関連のコマンドの man を探しまわったけど、それらしいオプションもない。
というわけで ruby スクリプト。
$ cat t.rb
require 'digest/md5'
require 'base64'
while s = ARGF.gets
s = s.chomp
host, alg, pkey = s.split
pkey = Base64.decode64(pkey)
puts Digest::MD5.hexdigest(pkey).scan(/../).join(':')
end
$ ruby t.rb ~/.ssh/known_hosts 51:5b:44:74:89:67:59:41:55:00:7b:af:f5:04:0b:19 67:91:c3:6f:49:12:f7:7e:0c:f6:0e:35:7a:86:ca:b9
最近のコメント