mato.me サーバから github をつかってみる修行

mato.me サーバでうなうぼっとを開発中。ソースコードgithub で管理することにしてみた。

だけど、ssh の公開鍵を github にあげて

[takeyuki@www unaubot]$ git remote add origin git@github.com:unau/unaubot.git
[takeyuki@www unaubot]$ git push origin master 

してみたんだが帰ってこない。かなり悩んだ。いろいろ試行錯誤した。さんざん悩んでふとファイアウォールじゃね、と思った。outbound パケットもかなり制限していたはずだ、と思ってみたら、案の定 SSH で外部に接続するパケットも遮断していた。Plesk Control Panel の [システム] -> [Virtuozzo] -> [ファイアウォール] にルールを追加して外部に SSH 接続できるようにした。

で、今度は Permission denied (publickey) というエラーが出るようになった。ssh -v git@github.com してみると秘密鍵を見つけられていない様子。ssh -v -i prv_key git@github.com と明示的に秘密鍵を指定すると接続できる。指定無しで接続できるようにいろいろと ~/.ssh/config を変えてみた。ら、通った。
正解は、

[takeyuki@www unaubot]$ cat ~/.ssh/config
Host github.com
#  User unau
#  HostName github.com
  IdentityFile ~/.ssh/secret_prv
  TCPKeepAlive yes
  IdentitiesOnly yes

最初 Host を github だけにしていたんだが、それはダメだったようだ。その場合は ssh -v git@github ってやればよかったのかな。