質問: Github から Git で ssh で初回 clone するときには、「authenticity が確認できない」といったようなメッセージがでます。 ``` The authenticity of host 'github.com (xxx.yyy.zzz.www)' can't be established. ``` これは個人で開発している場合には何も考えずに yes を一回だけ押せば、後は大体なんとかなります。 自動化して環境デプロイをするときには、これはセキュリティ的にきちんと取り扱った方がいいのだろうな、と思います。また、このメッセージが発生することにより、自動化スクリプトが正しく働かない場合などがあったりして、やっかいです。 ### 質問 * サーバーをたくさんプロヴィジョニングする前提で、初回に出てくるこれを正しく自動化して取り扱いたいです。どのような設定ないしコマンドを実行するのが、セキュリティ的に推奨なのでしょうか。 ### 追記 アドレス形式は、 git:// の方式のものを想定しています。
回答: 初めての接続先だから相手の公開鍵をちゃんと確認しましょう、ただ生の公開鍵だと目視確認するには長すぎるから短縮した(ハッシュ化した)fingerprintで代替して良いことにしましょう、 というのがそのメッセージの意図するところかと思います。 従って、あらかじめ公開鍵がわかっているのならそれを取得して `$HOME/.ssh/known_hosts` に記載しておいてやれば良いのではないでしょうか。 ``` ssh-keyscan -H github.com >> ~/.ssh/known_hosts ``` 参考: * ssh(1) VERIFYING HOST KEYS * Public key fingerprint - Wikipedia * (GitHub's SSH key fingerprints - User Documentation)