github の IP アドレスをまとめて known_hosts に登録する

github が利用しているssh用の IP アドレスを、 まとめて known_hosts へ登録する方法を紹介します。

github から pull 等をした際に、以下の様なメッセージが出たことはないでしょうか?

$ git pull -p
Warning: Permanently added the RSA host key for IP address '192.30.253.112' to the list of known hosts.

この警告メッセージは ~/.ssh/known_hosts に github.com として IP アドレスが追加登録されたことを意味します。初回にはフィンガープリントの追加が確認されますが、2回め以降は IP アドレスの追加だけが行われます。しかもけっこう頻繁にでますよね。

そのうち github が使ってる全てのIPアドレスが登録されれば、このメッセージは出なくなると推測されますが、この記事によると 192.30.252.0/22 で 1024 個もあるんですね。~/.ssh/known_hosts も汚れるし、そんなの耐えられるかってーのw

ということでまとめて、予め登録してみましょう。幸い known_hosts にはワイルドカードが使えます

github からのフィンガープリントを受け入れた後で、~/.ssh/known_hosts の中から github.com で始まる行を探しましょう。以下の様な行があるはずです。

github.com,192.30.252.1 ssh-rsa AAAA...

この IP アドレス部分をワイルドカードを使って 192.30.252.*,192.30.253.*,192.30.254.*,192.30.255.* と書き換えます。そうすると次のようになりますね。

github.com,192.30.252.*,192.30.253.*,192.30.254.*,192.30.255.* ssh-rsa AAAA...

これで、あのうるさいメッセージが表示されなくなります。 bitbucket もココの情報を使えば同様に設定できます。詳細は書きませんが、腕試しにやってみるのも良いでしょう。