Linux

在 /etc/shadow 中使用星號作為密碼但 /etc/passwd 中的正確登錄 shell 的使用者是否可以通過某種方式通過 SSH 登錄?

  • July 10, 2016

讓我們假設以下內容。我們有一個可以通過 SSH 訪問的伺服器。有一個使用者/etc/passwd擁有有效的登錄 shell(例如/bin/bash,而不是像 那樣的無效登錄 shell /bin/false)。

此使用者*在 的第二個(密碼)欄位中有一個星號 ( ) /etc/shadow。如果他的文件夾中沒有 ssh 密鑰,該使用者是否可以通過某種方式通過 SSH 登錄~/.ssh/

或者,換個說法:當*密碼欄位中有一個 時,許多線上指南建議禁用登錄 shell 的原因是/etc/shadow什麼?

*雜湊密碼位置中的A/etc/shadow有效地禁用了所有基於密碼的登錄,因為任何使用者輸入都不會導致*. 但是使用者仍然可以使用他/她的 ssh 密鑰登錄。

*使用驚嘆號與使用驚嘆號的區別!在於後者表示 PAM 中的帳戶已鎖定,這取決於您的 sshd 配置,也會禁用基於密鑰的登錄。

設置無效 shell 的原因只是為了防止互動式登錄會話工作(無論是否設置了帳戶密碼)並且會阻止sudo su - user和類似的工作。

引用自:https://serverfault.com/questions/788969