ssh:1人の非rootユーザーの「PAMアカウント構成によりアクセスが拒否されました」


24

VMで初期化中に、公開鍵認証を使用してSSHで1人の非rootユーザー(admin)としてログインできますが、別のユーザー()としてはログインできませんtbbscraper。ログファイルで見つかるエラーメッセージは

Sep 18 17:21:04 [REDACTED] sshd[18942]: fatal: Access denied for user tbbscraper by PAM account configuration [preauth]

クライアント側では、シンドロームは

$ ssh -v -i [REDACTED] tbbscraper@[REDACTED]
...
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: [REDACTED]
debug1: Authentications that can continue: publickey
debug1: Trying private key: [REDACTED]
debug1: read PEM private key done: type RSA
Connection closed by [REDACTED]

「tbbscraper」を「admin」に変更すると、ログインが成功します。debug1: Authentication succeeded (publickey).「Connection closed」メッセージの代わりに表示されます。

これは権限の問題ではないようです...

# for x in admin tbbscraper
> do ls -adl /home/$x /home/$x/.ssh /home/$x/.ssh/authorized_keys
> done
drwxr-xr-x 3 admin admin 4096 Sep 18 17:19 /home/admin
drwx------ 2 admin admin 4096 Sep 18 16:53 /home/admin/.ssh
-rw------- 1 admin admin  398 Sep 18 17:19 /home/admin/.ssh/authorized_keys
drwxr-xr-x 3 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper
drwx------ 2 tbbscraper tbbscraper 4096 Sep 18 17:18 /home/tbbscraper/.ssh
-rw------- 1 tbbscraper tbbscraper  398 Sep 18 17:18 /home/tbbscraper/.ssh/authorized_keys

# cmp /home/{admin,tbbscraper}/.ssh/authorized_keys ; echo $?
0

...また、PAMレベルのアクセス制御の問題...

# egrep -v '^(#|$)' /etc/security/*.conf
#

...したがって、同様の質問に対する既存の回答はどれも当てはまらないようです。私が持っている唯一の他の証拠は次のとおりです。

root@[REDACTED] # su - admin
admin@[REDACTED] $

しかし

root@[REDACTED] # su - tbbscraper
su: Authentication failure
(Ignored)
tbbscraper@[REDACTED] $

これは大規模なPAMの問題を示唆していますが、の内容に明らかに問題はありません/etc/pam.d。何か案は?

VMはEC2インスタンスで、OSはDebian 7.1(Amazonの既製AMI)です。


/etc/pam.d/sshdしてください
GioMac

@GioMac気にしないで、問題を見つけました。
-zwol

回答:


29

結局のところ、それは1文字のタイプミスであったことが判明しました/etc/shadow。違いを見つける:

admin:!:15891:0:99999:7:::
tbbscraper:!::15966:0:99999:7:::

そうtbbscraperです、行の感嘆符の後にコロンが2つあります。これにより、すべてのフィールドが1を超えて表示され、PAMにアカウントが1970年1月8日に期限切れになったと思わせます。


9
投稿していただきありがとうございます。これは私にとって便利でした。/etc/passwdにユーザーエントリを手動で作成し、対応する/ etc / shadowエントリを追加するのを忘れていました。
スパズム14

6
@spazmコメントありがとうございます。これは私にとって有用でした。別のマシンからユーザーを手動でコピーし、パスワードなしで1人のユーザーの/ etc / shadowエントリをコピーするのを忘れていました。
ジェイエン

8

質問を投稿していただきありがとうございます。私は同じエラーを受け取っていましたが、私の問題はシャドウファイルに関係していませんでした。私は修正を見つけ、このエラーをグーグルで検索する他の人にも答えを投稿したかった。このサーバー障害の質問が最初に出てきます。

チェックしてみてください/etc/security/access.conf

認証にActive Directoryを使用していますが、ローカルの非ADユーザー(jenkins)としてログインする必要がありました。私の上司は元々、これらの行でボックスをセットアップしていました/etc/security/access.conf

+:root:ALL
-:ALL:ALL

次のように変更し、ログインが機能するようになりました。サービスを再起動する必要さえありませんでした。

+:jenkins:ALL
+:root:ALL
-:ALL:ALL

3

同じエラーメッセージがありました。sshdをシャットダウンし、デバッグモードで再起動しました

    /usr/sbin/sshd -ddd

これは理由を示しています:

    debug3: User autossh not allowed because account is locked
            ...
    input_userauth_request: invalid user <username> [preauth]

当座預金口座:

    passwd -S <username>

アカウントがロックされていることを示しました(フラグ "L")新しいパスワードを設定して、アカウントのロックを解除しました:

    passwd <username>

できた


2

今朝同じ問題が発生しましたが、サーバーはActive Directoryに対してユーザーを認証します。ユーザーのドメインパスワードの有効期限が切れていたことがわかります。


2
同じ現象、ユーザーアカウント情報の異なるソース:-) 2年前にsshやPAMに対してバグを提出し、ログイン試行が拒否された理由をより明確に記録するように求めた可能性があります。そこに人の言っていないため、セキュリティの引数で作られ、それが失敗した理由の試みは、それはシステムログには適用されません。
zwol

2

私の場合、ローカルのCentOS 6ユーザーの名前を変更していたので、/ etc / shadowで名前を変更するのを忘れていました(パスワードなしのキー認証で、頭に浮かびませんでした)。したがって、新しいユーザー名のレコードは/ etc / shadowにはありません。/ var / log / secureで、unix_chkpwdエラーとPAMによるアクセス拒否が表示されました。

    unix_chkpwd[12345]: could not obtain user info (user2)
    sshd[12354]: fatal: Access denied for user user2 by PAM account configuration

1
usermod(8)は次回あなたの友達です;-)
マイケルシゴ

0

私の場合、「興味深い」条件でext4 rootfsが破損した後、 '' / etc / tcb / USER / shadow ''がジャンクヒットしました。かなりテキスタイルに見えたので、最初の検査では発見されませんでした(今すぐノードを再インストールすることはできませんが、そうする必要があります)。


0

私は同じ問題を抱えていましたが、提案されたオプションはどれも機能しませんでした。しかし、フォーラム(https://ubuntuforums.org/showthread.php?t=1960510)の1つで、完全に機能する「回避策」を見つけました。

編集/etc/ssh/sshd_configおよび設定

UsePAM no

これはおそらく本当の解決策ではありませんが、私のマシンに何か問題があることは間違いないので(昨日は正常に機能していました!)、これは少なくとも機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.