shonen.hateblo.jp

やったこと,しらべたことを書く.

公開鍵SSHが Permission denied で落とされると思ったらホームディレクトリの権限が原因

note: 本記事は 2019/12/25 に執筆されたまま下書きに眠っていました

現象

さくらVPSに公開鍵認証を使って SSH で接続しようとしたところ、

$ ssh example.com -l hoge
hoge@example.com: Permission denied (publickey).

というありがちなエラーが返ってきた。

特に不思議だったのは、リモートデスクトップ上か何か少なくとも1つの端末がログインしていれば、SSH で接続出来るようになること。

/var/log/auth.log を見てみたが、

Dec 25 00:25:47 tk2-410-46464 sshd[13641]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60132 [preauth]
Dec 25 00:25:47 tk2-410-46464 sshd[13643]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60134 [preauth]
Dec 25 00:25:47 tk2-410-46464 sshd[13645]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60136 [preauth]
Dec 25 00:25:48 tk2-410-46464 sshd[13647]: Connection closed by authenticating user USERNAME 49.129.241.52 port 60138 [preauth]

連打した跡が残っている事しか分からない。

解決策

ログインしようとしていたユーザのパーミッション700 だった。

701 にすると、ログイン中の端末が存在していなくても、ログインできるようになった。

sudo chmod 701 ~

権限が理由でSSH接続出来ないのは分かるのですが、ログイン中の端末があれば接続出来てしまうのが謎でした。