CentOS 6.x で公開鍵認証を使ってログインしようとするが "Permission Denied" エラーが出る場合の対処法

これで2時間悩みました・・・
CentOSにて公開鍵認証を使ってログインする設定を行ったのですが、なぜか”Permission Denied”エラーでログインが出来ません。
あーでもない、こーでもない、と思い付く設定を全て見直したのですが、解決に至らず。
「もしかして・・・」と思ったら解決したので、メモ代わりに書いておきます。

あまりいろいろと書くこともない、というのが正直なところです。
【答え】SELinuxがONになっていると、この症状が出ます。
ですので、私はとりあえずSELinuxをOFFにしました。

SELinuxがONになっているかどうかと、OFFにする方法を確認

By: James Morris
SELinuxがONになっているかどうかは下記コマンドで確認します。
[bash]$ sudo getenforce
Enforcing[/bash]
上記のように”Enforcing”と表示されれば、SELinuxがONになっています。
ですので、これをとりあえずコマンドラインでOFFにします。
[bash]$ sudo setenforce 0[/bash]
再度確認してみましょう。
[bash]$ sudo getenforce
Permissive[/bash]
“Permissive”と表示されれば、SELinuxはOFFになっています。
しかし、これは一時的な方法ですので、再起動するとONになってしまいます。
そこで、下記ファイルを編集します。
[bash]$ vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing – SELinux security policy is enforced.
# permissive – SELinux prints warnings instead of enforcing.
# disabled – No SELinux policy is loaded.
SELINUX=enforcing <= "enforcing" を"disabled"に書き換える
# SELINUXTYPE= can take one of these two values:
# targeted – Targeted processes are protected,
# mls – Multi Level Security protection.
SELINUXTYPE=targeted
[/bash]
編集したら保存しておきます。
これで再起動してもSELinuxに悩まされることがありません。
本来であれば、SELinuxもきちんと設定をしておくべきなのですが、なかなかこれが難しいので、ひとまずはこの対応で。
[tmkm-amazon]4822221113[/tmkm-amazon]

Share this post