Ssh

root 密碼不起作用,但可以通過 sudo 使用者(centos)進行 ssh

  • February 9, 2017

我可以毫無問題地使用 RSA 密鑰將其放入我的 centos VPS。從那裡我可以sudo用來執行命令。但是我的root密碼不起作用。我想知道我是否在設置無密碼膩子登錄時沖洗了一些東西。

當我做su任何事情時,我過去的幾個 root 密碼都不起作用。使用 sudo 我更改sshd_config為允許:

PermitRootLogin  yes
PasswordAuthentication yes

然後重新載入了 sshd 服務。但是也不能以 root 身份登錄。建議?

更新 1嘗試sudo su但結果是

This account is currently not available.

但我的使用者密碼適用於sudo nano /etc/ssh/sshd_config. 我成功地編輯了那個文件。

聽起來你不知道你的root密碼,即使su你拒絕你的密碼。

因此,您應該做的是重置您的root密碼。有sudo su,執行passwd,在提示時輸入您的新密碼兩次,…

現在您不一定需要知道您的 root 密碼。如果您已經在使用某些 RSA 密鑰登錄您的 VPS,您應該能夠授權該密鑰以 root 身份連接。

即使:您不一定需要以 root 身份登錄。如果您可以從管理使用者執行 sudo,為什麼要授權您的 root 帳戶登錄到您的 SSH 伺服器?

假設您只想使用 SSH 密鑰登錄,請更改sshd_config

PermitRootLogin without-password
PasswordAuthentication no

假設您更喜歡阻止 root 使用 SSH,只需使用:

PermitRootLogin no
PasswordAuthentication no

當且僅當,您確定希望通過 SSH 允許 root 密碼身份驗證,知道您的su密碼,您可以考慮使用:

PermitRootLogin yes
PasswordAuthentication yes

如果要確保在系統範圍內禁用 root 密碼身份驗證,可以執行(以 root 身份):

passwd -d

在您上次編輯時,關於sudo su失敗This account is currently not available.: 這表明您的 root 帳戶外殼已更改為nologin.

試試這個:sudo su -s /bin/bash

假設它確實打開了一個根 shell,那麼您可能想要使用chsh.

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