tencent cloud

フィードバック

Linuxインスタンス:VNCまたはSSHログインエラー Permission denied

最終更新日:2023-06-08 17:34:41

    現象の説明

    VNCまたはSSHログインを使用する際、エラーメッセージ“Permission denied”が表示される。
    VNCログインエラーは下図のように表示されます。
    
    
    SSHログインエラーは下図のように表示されます。
    
    

    考えられる原因

    VNCまたはSSHを使用したログインでは/etc/pam.d/loginというpamモジュールを呼び出して検証を行います。/etc/pam.d/loginの設定において、デフォルトではsystem-authモジュールをインポートして認証を行い、system-authモジュールはデフォルトでpam_limits.soモジュールをインポートして認証を行います。system-authのデフォルト設定は下図のとおりです。
    
    pam_limits.soモジュールの主な機能はユーザーのセッションの過程で各種システムリソースの使用状況を制限することです。デフォルトではこのモジュールの設定ファイルは/etc/security/limits.confであり、この設定ファイルはユーザーが使用可能な最大ファイル数、最大スレッド数、最大メモリなどのリソース使用量を規定しています。パラメータの説明は下表のとおりです。
    パラメータ
    説明
    soft nofile
    開くことができるファイルディスクリプタの最大数(ソフトリミット)。
    hard nofile
    開くことができるファイルディスクリプタの最大数(ハードリミット)。この設定値を超えることはできません。
    fs.file-max
    システムクラスにおいて開くことができるファイルハンドラ(カーネル中のstruct file)の数量。システム全体に対する制限であり、ユーザーに対してのものではありません。
    fs.nr_open
    1つのプロセスで割り当て可能な最大ファイルディスクリプタ数(fd個数)。
    正常にログインできない原因は、設定ファイル/etc/security/limits.conf中のrootユーザーが開くことのできるファイルディスクリプタの最大数の設定にエラーがあることによる可能性があります。 正しい設定はsoft nofile ≤ hard nofile ≤ fs.nr_openの関係を満たしていなければなりません。

    解決方法

    処理手順 を参照し、soft nofilehard nofileおよびfs.nr_openを正しい設定に修正します。

    処理手順

    1. SSHを使用したCVMインスタンスへのログインを試してください。詳細については SSHを使用してLinuxインスタンスにログイン をご参照ください。
    ログインに成功した場合は次の手順に進みます。
    ログインに失敗した場合は、単一ユーザーモードを使用する必要があります。
    2. パラメータsoft nofilehard nofileおよびfs.nr_openの値がsoft nofile ≤ hard nofile ≤ fs.nr_openの関係を満たしているかどうかを確認します。
    次のコマンドを実行し、soft nofileおよびhard nofileの値を確認します。
    /etc/security/limits.conf
    ここでの取得結果は3000001と3000002です。下図のように表示されます。
    
    
    次のコマンドを実行し、fs.nr_openの値を確認します。
    sysctl -a 2>/dev/null | grep -Ei "file-max|nr_open"
    ここでの取得結果は1048576です。下図のように表示されます。
    
    
    3. /etc/security/limits.confファイルを修正し、次の設定をファイルの末尾に追加または修正します。
    root soft nofile:100001
    root hard nofile:100002
    4. /etc/sysctl.confファイルを修正し、次の設定をファイルの末尾に追加または修正します。
    説明:
    soft nofile ≤ hard nofile ≤ fs.nr_openの関係を満たしている場合は、この手順は必須ではありません。システムの最大制限が不足している場合に再調整することができます。
    fs.file-max = 2000000
    fs.nr_open = 2000000
    5. 次のコマンドを実行すると、設定は直ちに有効になります。設定を完了するとログインできるようになります。
    sysctl -p
    
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)