解決策 1:
はい、SELinux が原因である可能性があります。 .ssh
dir のラベルが間違っている可能性があります。 /var/log/audit/audit.log
を見てください . ssh_home_t
というラベルを付ける必要があります . ls -laZ
で確認 . restorecon -r -vv /root/.ssh
を実行
解決策 2:
同じ問題がありました。私の場合、restorecon と chcon は機能しませんでした。
selinux を無効にしたくありませんでした。多くの調査の結果、ホームディレクトリが別の場所 (NFS) からマウントされたことが原因であることが最終的にわかりました。私はこのバグレポートを見つけて、私を手がかりにしました.
私は走りました:
> getsebool use_nfs_home_dirs
use_nfs_home_dirs --> off
use_nfs_home_dirs がオフになっていることを確認してから:
sudo setsebool -P use_nfs_home_dirs 1
オンにします。
これで、パスワードを入力せずに、キーを使用して自分のマシンに ssh できるようになりました。 use_home_nfs_dirs ブール値を切り替えることが、私にとって必要なことでした。
解決策 3:
カスタムホームディレクトリパスを使用している場合(つまり、/home
ではない場合)、Mark Wagnerの回答に追加するには )、SELinux セキュリティ コンテキストが設定されていることを確認する必要があります。これを行うには、たとえば /myhome
にユーザーのホーム ディレクトリがある場合 、実行:
semanage fcontext -a -e /home /myhome
restorecon -vR /myhome