Ssh

每個 AD SSH 登錄都以 audit.log 中的失敗開始

  • January 8, 2020

每當我登錄到我的 Centos 7.x 伺服器時,我總是在 audit.log 中得到一個透明的失敗。這使得我嘗試為失敗的登錄編寫每日腳本非常困難,因為我們無法確定什麼是真正的失敗。這是摘錄自aureport -au -ts today

1669. 06/02/17 08:40:03 handsm@internal 10.1.0.24 ssh /usr/sbin/sshd no 1428242
1670. 06/02/17 08:40:03 handsm@internal 10.1.0.24 ssh /usr/sbin/sshd no 1428243
1671. 06/02/17 08:40:06 handsm@internal server01 ssh /usr/sbin/sshd yes 1428244
1672. 06/02/17 08:40:06 handsm@internal 10.1.0.24 ssh /usr/sbin/sshd yes 1428246
1673. 06/02/17 08:40:13 handsm@internal.office ? /dev/pts/3 /usr/bin/sudo yes 1428284

您可以看到前 2 行是失敗的,然後我立即成功。有誰知道為什麼會發生這種情況?

Edit_1: 包含詳細的 SSH 日誌文件:

Feb 6 09:59:42 wb-prod-ctl sshd[50489]: Connection from 10.1.0.24 port 58847 on 192.168.61.5 port 22 Feb 6 09:59:45 wb-prod-ctl sshd[50489]: Failed publickey for handsm@internal from 10.1.0.24 port 58847 ssh2: RSA c4:a3:e9:ad:2f:5c:fa:b4:de:49:6a:7d:83:fa:11:d5 Feb 6 09:59:45 wb-prod-ctl sshd[50489]: Postponed gssapi-with-mic for handsm@internal from 10.1.0.24 port 58847 ssh2 [preauth] Feb 6 09:59:46 wb-prod-ctl sshd[50489]: Failed gssapi-with-mic for handsm@internal from 10.1.0.24 port 58847 ssh2 Feb 6 09:59:48 wb-prod-ctl sshd[50489]: pam_sss(sshd:auth): authentication success; logname= uid=0 euid=0 tty=ssh ruser= rhost=server01.internal.office user=handsm@internal Feb 6 09:59:48 wb-prod-ctl sshd[50489]: Accepted password for handsm@regsec from 10.1.0.24 port 58847 ssh2 Feb 6 09:59:48 wb-prod-ctl sshd[50489]: pam_unix(sshd:session): session opened for user handsm@internal by (uid=0) Feb 6 09:59:48 wb-prod-ctl sshd[50489]: User child is on pid 50492 Feb 6 09:59:48 wb-prod-ctl sshd[50492]: Starting session: shell on pts/3 for handsm@internal.office from 10.1.0.24 port 58847

看起來像 gssapi-with-mic 的失敗??

Edit_2: 我現在禁用了 GSSAPIAuthentication,沒有任何不良影響,並且我的 SSH 日誌中的錯誤gssapi-with-mic已經消失……但是(!),我留下了Failed publickey錯誤。

所以我的伺服器允許 AD 登錄(uid + 密碼)和無密碼登錄(公鑰/私鑰)。我認為我的問題就是這個事實,我可能無法解決它,即 SSH 需要任何一種方法,如果沒有使用一種方法,那麼另一種方法會在日誌中寫入錯誤。

其他人有這方面的經驗嗎?

Edit_3:問題解決了——感謝Liczyrzrepa

因此,Putty 的預設設置似乎是“嘗試使用 Pageant 進行身份驗證”(見下圖)。當我為相關伺服器創建一個新的 Putty 會話並禁用此設置時,我不再看到該Failed publickey錯誤。

在此處輸入圖像描述

預設情況下,如果您之前創建了密鑰,OpenSSH 客戶端將嘗試公鑰身份驗證。我的猜測是,如果你這樣做,ls ${HOME}/.ssh/你會看到一個密鑰對 -id_rsaid_rsa.pub. 當您的客戶端連接到伺服器時,它會嘗試使用此密鑰對登錄。因為id_rsa.pub不在${HOME}/.ssh/authorized_keys您的伺服器上,或者該文件具有不正確的權限,sshd所以伺服器上正確地將登錄嘗試標記為失敗。嘗試以下操作:

ssh -o PubkeyAuthentication=no

設置該選項將阻止 SSH 客戶端在${HOME}/.ssh/嘗試對伺服器進行身份驗證時使用密鑰。如果這不能阻止顯示日誌消息,請添加-vv到 ssh 客戶端選項,以便我們可以準確地看到它在做什麼。

引用自:https://unix.stackexchange.com/questions/342812