このトピックには、サードパーティ製品に関する情報が含まれている場合があります。この情報は参照用です。Alibaba Cloud は、サードパーティ製品のパフォーマンスと信頼性について、明示または黙示を問わず、いかなる保証も行いません。Alibaba Cloud は、これらの製品を含む操作から生じる可能性のある潜在的な影響について、一切の責任を負いません。
問題の説明
セキュアシェル (SSH) プロトコルを使用して Linux の Elastic Compute Service (ECS) インスタンスに接続する際に、正しいパスワードを入力してもログインできないことがあります。この問題が発生すると、管理端末か SSH クライアントのいずれかを使用してログインできなくなる場合があります。セキュアログには、次のようなエラーメッセージが記録されます。
sshd[1199]: pam_listfile(sshd:auth): Refused user root for service sshd
sshd[1199]: Failed password for root from 192.X.X.1 port 22 ssh2
sshd[1204]: Connection closed by 192.X.X.2
原因
ログイン失敗の原因は、プラガブル認証モジュール (PAM) のモジュール (pam_listfile.so) に関連するアクセス制御ポリシーです。
ソリューション
インスタンスやそのデータの変更などのリスクの高い操作を実行する前に、インスタンスのディザスタリカバリとフォールトトレランスを評価して、データセキュリティを確保してください。
ECS インスタンスや RDS インスタンスなどの設定やデータを変更する前に、スナップショットを作成するか、RDS ログバックアップなどの機能を有効にしてください。
Alibaba Cloud プラットフォームで権限を付与したり、ログイン認証情報などのセキュリティ情報を送信したりした場合は、速やかに変更してください。
以下の手順では、Linux のアクセス制御に使用される PAM モジュールの設定を確認して問題を解決する方法について説明します。このトピックの Linux の設定と手順は、CentOS 6.5 64 ビットオペレーティングシステムに基づいています。設定は、他のオペレーティングシステムのバージョンでは異なる場合があります。詳細については、「お使いのオペレーティングシステムの公式ドキュメント」をご参照ください。
インスタンスにログインし、
catなどのコマンドを使用して、対応する PAM 設定ファイルを表示します。設定ファイルは次のとおりです。ファイル
説明
/etc/pam.d/loginコンソール (管理端末) の設定ファイル
/etc/pam.d/sshdSSH ログインの設定ファイル
/etc/pam.d/system-authグローバルシステム設定ファイル
次のような設定が存在することを確認します。
auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=failこれらのポリシーは、サーバーのセキュリティを向上させることができます。セキュリティと使いやすさのバランスに基づいて、設定を変更するかどうかを決定してください。設定を変更する前に、ファイルをバックアップしてください。ポリシーパラメーターは次のとおりです。
item:アクセス制御のオブジェクトタイプを設定します。有効な値は、tty、user、rhost、ruser、group、shell です。
sense:設定ファイル内の基準に一致する項目の制御方法を指定します。有効な値は
allowとdenyです。allowはホワイトリストを示し、denyはブラックリストを示します。file:設定ファイルのフルパスを指定します。
onerr:設定ファイルを開けないなどのエラーが発生した場合のデフォルトの戻り値を定義します。
viなどのエディターを使用して、ポリシー設定を削除してください。以下に示すように、行の先頭に番号記号 (#) を追加して、ポリシー設定をコメントアウトすることもできます。#auth required pam_listfile.so item=user sense=allow file=/etc/ssh/whitelist onerr=fail再度サーバーにログインし、問題が解決されたことを確認してください。
詳細情報
プラガブル認証モジュール (PAM) は、Sun Microsystems の認証メカニズムです。ダイナミックリンクライブラリと標準の API セットを使用して、サービスを認証方法から分離します。この分離により、システム管理者は、サービスプログラムを変更することなく、さまざまなサービスに対してさまざまな認証方法を設定できます。また、システムに新しい認証方法を簡単に追加することもできます。
PAM モジュールを使用する各アプリケーションには、
/etc/pam.dフォルダーに対応する設定ファイルがあります。たとえば、loginコマンドの設定ファイルは/etc/pam.d/loginです。これらのファイルで特定のポリシーが設定されます。pam_listfile の詳細については、「pam_listfile」をご参照ください。
問題が解決しない場合は、「SSH を使用して Linux インスタンスにリモートでログインできない場合のトラブルシューティングガイド」をご参照ください。
対象製品
Elastic Compute Service