本日、新しく鍵を作ってauthorized_keysに配置したのですが、なんかログインできないわけです。
“No supported authentication methods available”
と言われてしまう。
/var/log/secureを見てみても、
May 18 14:19:21 foobar sshd[26582]: Received disconnect from 192.168.xxx.xxx: 14: No supported authentication methods available
と書いてあるのみ。
色々調べてみた所、毎度おなじみSELinuxが原因でした。
authorized_keysのセキュリティラベルを見てみると、
$ cd /home/foo/.ssh && ls -Z -rw-------. foo bar unconfined_u:object_r:home_root_t:s0 authorized_keys
のようになっておりました。これは本来は
-rw-------. foo bar unconfined_u:object_r:ssh_home_t:s0 authorized_keys
でなければなりません。
というわけで、
$ chcon unconfined_u:object_r:ssh_home_t:s0 authorized_keys
とやってみると、ログインできるようになりました。
そもそも何でこんなことになったかというと、横着して
- rootで作業した
- 他のユーザーのホームディレクトリを丸ごとコピーしてユーザーを作った
のが原因なのだろうと思います。