質問: さくらのVPSにUbuntu 14.04.4 LTSをインストールして使用しています。 そのサーバーにsshで接続しようとすると、 Permission denied (publickey). と表示されて、接続できません。 そこで、さくらのVPSコントロールパネルから、VNCコンソールでログインし、その後sshで接続すると、今度は接続できます。 コンソールでログインしている間は、sshで接続できるようなのです。 それがなぜか分かりません。 どういうことなのでしょうか。
回答: SSH/OpenSSH/Keys - Community Help Wiki デフォルトではSSHの公開鍵はホームディレクトリに置かれていますが、ホームディレクトリを暗号化した場合、何らかの方法でそのユーザーがログインするまでホームディレクトリ(に入った公開鍵)にアクセスできないため、SSHの公開鍵認証に失敗します。 なのでSSHの公開鍵をホームディレクトリ以外の場所、例えば `/etc/ssh//` に移動することで、問題を回避できるようです。ただそれでも、ホームディレクトリが自動でマウントされないという話もあるようですが・・・。 Ubuntuでホームディレクトリを暗号化するのを止めた · hnakamur's blog at github