正しいパスワードを入力した後でも、SSH ログインに失敗し、Permission denied, please try again および error: Could not get shadow information for root というメッセージが表示されます。これは、SELinux が認証プロセスをブロックしているためです。アクセスを復旧するには、SELinux を一時的または永続的に無効化します。
前提条件
開始する前に、以下を確認してください。
お使いの Simple Application Server のレスキュー機能へのアクセス (SSH が利用できないため必須)
ステップ1:SELinux の状態の確認
レスキュー機能を使用してサーバーに接続します。
次のコマンドを実行して、SELinux が有効になっているかどうかを確認します。
/usr/sbin/sestatus -vSELinux が接続失敗の原因である場合、出力には以下が含まれます。
SELinux status: enabled Current mode: enforcing Mode from config file: enforcingCurrent modeの値に注意してください。この値は、永続的な無効化が可能かどうかを判断するために必要です。出力に
SELinux status: disabledと表示されている場合、SELinux は原因ではありません。SSH 接続失敗の他の原因を確認してください。
ステップ2:SELinux の無効化
状況に応じて方法を選択してください。
| 方法 | 使用する状況 |
|---|---|
| 一時的な無効化 | テストまたはデバッグ用 — 再起動後に SELinux は再度有効になります |
| 永続的な無効化 | SELinux が原因であることを確認し、有効にする必要がない場合 |
SELinux を永続的に無効化すると、システムのセキュリティが低下します。本番環境では、まず一時的な無効化の方法を使用して原因を確認してから、永続的な変更を行ってください。
SELinux の一時的な無効化
次のコマンドを実行します。
setenforce 0SELinux はただちに無効になります。この設定は、再起動後も維持されません。
SELinux の永続的な無効化
この方法は、sestatus の出力で Current mode が enforcing の場合にのみ機能します。モードがすでに permissive または disabled の場合は、このステップをスキップしてください。
次のコマンドを実行して、SELinux の設定ファイルを更新します。
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config変更を有効にするには、サーバーを再起動します。詳細については、「サーバー情報の表示」をご参照ください。
次のステップ
SELinux を無効にした後、SSH を使用してサーバーに再接続します。それでも接続に失敗する場合、他に原因があります。SELinux の状態の管理に関する完全なリファレンスについては、「SELinux の有効化または無効化」をご参照ください。