Ssh
ssh:一個非 root 使用者但不是另一個使用者的“PAM 帳戶配置拒絕訪問”
在我正在初始化的 VM 上,我能夠通過具有公鑰身份驗證的 SSH 以一個非 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).
出現而不是“連接關閉”消息。這似乎不是權限問題…
# 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
. 有任何想法嗎?虛擬機是 EC2 實例,作業系統是 Debian 7.1(亞馬遜的現成 AMI)。
畢竟,事實證明這是一個單字錯字
/etc/shadow
。指出不同:admin:!:15891:0:99999:7::: tbbscraper:!::15966:0:99999:7:::
沒錯,
tbbscraper
行的驚嘆號後面有兩個冒號。這將所有欄位都推到一個之上,使 PAM 認為該帳戶於 1970 年 1 月 8 日到期。
感謝您發布您的問題。我遇到了同樣的錯誤,但我的問題與影子文件無關。我找到了我的解決方法,並想為其他在Google上搜尋此錯誤的人發布答案。這個伺服器故障問題首先出現。
嘗試檢查
/etc/security/access.conf
!我們使用 Active Directory 進行身份驗證,但我需要以本地非 AD 使用者 (jenkins) 身份登錄。我的老闆最初在以下行中設置了盒子
/etc/security/access.conf
:+:root:ALL -:ALL:ALL
我將其更改為以下內容,現在可以登錄;我什至不需要重新啟動任何服務。
+:jenkins:ALL +:root:ALL -:ALL:ALL