SSHFPを設定してみる

DNS関連のお話をしている中でSSHFP(SucureSHellFingerPrint)ってのを教えてもらったので即設定してみた。
これは、ssh_host_key.pubなど公開鍵のFingerPrintをDNSのRRとして登録するもの。

  • やり方
% ssh-keygen -r ssh.example.jp
ssh.example.jp 1 1 59C3F753BB17076F2A9EC531B540BC7691F33D6D
ssh.example.jp 2 1 4C2B7A45A0C4595E58D3AB793A589F58600BC091
  • これをDNSに登録する(そのままBINDのZONEに貼り付けると最後のDotが付いてないので注意)
% dig SSHFP ssh.example.jp +short
1 1 59C3F753BB17076F2A9EC531B540BC7691F33D6D
2 1 4C2B7A45A0C4595E58D3AB793A589F58600BC091
  • 使い方は"VerifyHostKeyDNS ask"を~/.ssh/configもしくはオプションで指定
% ssh -o "VerifyHostKeyDNS ask" ssh.example.jp
.snip.
Matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)?