Ssh

root 登錄靜默失敗

  • April 12, 2014

在幾個月沒有碰它之後,我想登錄到我們的一個虛擬伺服器來更新 OpenSSL,因為心血來潮。該伺服器正在執行 Debian 7,sudo未安裝。

我嘗試了三種方法:

  1. ssh root@server,密碼被接受,然後:
Could not chdir to home directory /home/root: No such file or directory
Connection to server closed.
  1. 以其他使用者身份登錄,然後su - root.
No directory, logging in with HOME=/

然後我回到我通常的 shell,沒有以 root 身份登錄。 3. 以其他使用者身份登錄,然後su root. 這什麼也沒做,我只是回到了通常的提示,仍然以其他使用者而不是 root 身份登錄。

我沒有機會在星期一之前手動重新啟動伺服器。我可以嘗試做些什麼來獲得 root shell 嗎?伺服器可能會受到威脅,我該如何檢查(沒有 root 訪問權限)?謝謝!

在所有情況下,當輸入錯誤的密碼時,機器都會像往常一樣抱怨。

/root確實存在並/etc/passwd列出了正確的目錄。我不知道為什麼 ssh 相信不同。


這可能很重要:$?在不成功的su呼叫之後檢查會給我一個1,這是System or authentication failure根據 su 的手冊頁。我怎樣才能使它更詳細?


根據以下要求,輸出ssh -v

Last login: Fri Apr 11 17:47:46 2014 from some_client
Could not chdir to home directory /home/root: No such file or directory
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Connection to server closed.
Transferred: sent 3136, received 2448 bytes, in 0.0 seconds
Bytes per second: sent 299688.7, received 233940.7
debug1: Exit status 1

以下所有內容均來自 這裡

該錯誤消息暗示缺少根的主目錄。您可以使用 重新創建它mkdir /root,但它會是空的。

通常,您不應直接以 root 身份登錄。對於遠端登錄和 X 會話,應禁用所有直接 root 訪問,儘管當出現問題時允許從文本模式終端進行 root 訪問可能是救命稻草。您應該始終以真實使用者身份登錄,然後使用suor su -(當然還有 root 密碼)更改為 root 使用者。

但是,在您的情況下, su 無效,因為您仍然沒有/root目錄。

創建 /root 目錄後,您仍然會失去一些預設文件。

您需要的文件是預設文件.bash_profile.bashrc應將這些文件複製到/root. 前導.表示文件是隱藏的,因此您可能需要ls -a查看它們。

編輯

實際問題是,對於 root 使用者,shell 設置為/bin/false. 這可以通過發出命令來驗證,

getent passwd root

在這種情況下,上述命令的輸出結果是,

root:x:0:0:Netbios Domain Administrator:/home/root:/bin/false

如果您有sudo使用者,則可以更改,或者您應該以single模式啟動機器並編輯上述設置。

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