Ubuntu 14.04LTS で openssh を実行しています。公開キーを使用して SSH で接続しようとすると、「Permission denied (public key)」というエラーが表示されます。
/var/log/auth.log に「承認されたキー '/home/wolfgeek/.ssh/authorized_keys' を開けませんでした: 権限が拒否されました」と表示されます
ここが奇妙な部分です!
「ls -l /home/wolfgeek/.ssh/authorized_keys」または「stat /home/wolfgeek/.ssh/authorized_keys」を実行すると、ssh 経由で正常にログインできます。ファイル (600) や .ssh ディレクトリ (700) の権限は変更していません。ファイルを変更したり、sshd を再起動したりしていません。ファイルを stat するだけで、動作し始めます。
何か案は?
答え1
ファイルは 600、ディレクトリは 700 になります。
chmod go-w ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
これは私がいつも使っている権限の方式です。私はDebianを使っていますが、Ubuntuでも同じように動作するはずです。