sshでサーバへ接続しようとすると、
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
このようなエラーが表示されて接続できない時がある。

偉い人がこちらで対策を纏めてくれてるけど、パーミッションを見直しても間違っていない。

これで、結構悩みました。
ssh -v(もしくは-vvvなど)を実行してみましたが、

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/hogehoge/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).

となるはずが、

debug1: Offering RSA public key: /Users/hogehoge/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Trying private key: /Users/hogehoge/.ssh/id_dsa
debug1: Trying private key: /Users/hogehoge/.ssh/id_ecdsa
debug1: Trying private key: /Users/hogehoge/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
となって、接続できない。

この場合、サーバCent OS6系だと/etc/sshもしくは、~/.sshなどをls -lしてみてください。
# ls -l /etc/ssh/
-rw-r--r--. 1 root root   2047  8月 13 18:58 2015 ssh_config

-rw-------  1 root root   3870  2月 13 17:37 2016 sshd_config

パーミッションの後に「.」があるファイルとないファイルがある場合があります。
これは、ファイルがSELinuxで管理されていることを示しています。

私の場合、元のサーバから設定ファイルをコピーしてきたので、サーバのSELinuxが有効なまま、適切に設定されていないファイルが混じってしまい、sshdがファイルを読めなくなっていました。

対策としては、いろいろのあると思うので、ここでは詳しく記載しませんが、
# vi /etc/sysconfig/selinux
SELINUX=disabled
などとして、SELinuxを無効にすると接続できるようになると思います。
もしくはls -lして.がついてるファイルに対して適切に設定してください。