Ssh
無法以 root 身份使用 ssh 登錄
我正在嘗試虛擬化舊的 linux 伺服器,而 PtoV 軟體需要通過 ssh 以 root 身份登錄密碼。但是,root 登錄被阻止,客戶端出現“ Permission Denied ”錯誤,伺服器端出現“ Failed Password for root ”(當 sshd 以調試模式執行時)。
我已經設置好
PermitRootLogin yes
了/etc/ssh/sshd_config
。這是一個舊的 RedHat 7.3 伺服器,多年前執行了像 Bastille 這樣的加固腳本,並且有許多舊作業系統的殘餘(如 ipchains - 不再受核心支持)。總而言之,我幾乎不知道原始系統發生了什麼變化,但有很多。
- 我可以從控制台以 root 身份正常登錄
- 我可以從控制台或 ssh 會話中 su
- 作為普通使用者,我可以很好地 ssh。
我的問題是:還有什麼可以阻止我在此伺服器上的 root 登錄?
更多資訊:/etc/pam.d/sshd
auth required pam_stack.so service=system-auth auth required pam_nologin.so account required pam_stack.so service=system-auth password required pam_stack.so service=system-auth session required pam_stack.so service=system-auth session required pam_limits.so session optional pam_console.so
/etc/pam.d/system-auth
auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_unix.so likeauth nullok auth required /lib/security/pam_deny.so account required /lib/security/pam_unix.so password required /lib/security/pam_cracklib.so retry=3 type= password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadow password required /lib/security/pam_deny.so session required /lib/security/pam_limits.so session required /lib/security/pam_unix.so
誰能告訴我雜湊算法是否是罪魁禍首?請記住,我可以以非特權使用者身份登錄。
原來 /etc/init.d/sshd 腳本沒有 $OPTIONS 變數,這將是對配置文件的引用。因此 sshd 啟動時根本沒有任何配置文件,因此預設為“PermitRoodLogin no”。
我通過在 /etc/init.d/sshd 的開頭附近添加以下行來解決此問題:
OPTIONS="-f /etc/ssh/sshd_config"
希望這對其他人有幫助。
可以在 PAM 配置中禁用通過 ssh 以 root 身份登錄。