PCを再起動したりした時に、たまにgithubにsshでpullやpushできなくなるときがあります。
$ git pull
Permission denied (publickey).
fatal: Could not read from remote repository.
その時はssh -T git@(ホスト名)で再度繋ぎ直します。
-Tはsshでの仮想端末接続(pseudo-tty)を無効化するオプション。githubはsshクライアントでの接続をさせるつもりはないので、それで繋がないようにするためにこのオプションをつけます。
ついでに-v(結果を出力)をつけるとよいかもです。
$ ssh -vT git@github.com
当たり前だけどホスト名のところはsshのconfigで設定したHost名でもOKです。
参考
http://stackoverflow.com/questions/17900760/what-is-pseudo-tty-allocation-ssh-and-github