使用“passwd”然后尝试 ssh

使用“passwd”然后尝试 ssh

抱歉,这是一个新手常问的问题。我以 root 身份运行 Debian 机器:

$whoami
root

如果我小心地更改密码(通过 VNC),它似乎有效:

debian:/# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

如果我尝试通过 ssh 登陆,仔细输入我刚刚设置的密码,我会收到“权限被拒绝”的提示:

:~ ap257$ ssh [email protected]
[email protected]'s password: 
Permission denied, please try again.
[email protected]'s password: 
Permission denied, please try again.

可能出了什么问题?

- - 更新 - - - -

已解决,请参阅下面的答案(我明天才能接受)。非常感谢你对此为何有效的想法!

答案1

最有可能的是,“root”帐户不允许通过 SSH 登录。

找到配置文件,通常存储在

  /etc/ssh/sshd_config

查找以下行:

 PermitRootLogin No

改为说

PermitRootLogin Yes

确保在进行更改后重新启动 SSH 守护程序!

service sshd restart

答案2

创建新用户useradd,然后设置密码使用passwd [user].ie

useradd johndoe
passwd johndoe

然后使用 johndoe 进行 SSH,然后使用切换用户命令su -以获取 root 权限。


注意破折号。这对于设置您想要的环境非常重要。如果没有破折号,我相信您最终会进入 root 下的提示符,但必须使用绝对路径。通常语法是 su [user],但如果省略,则默认为 root。

理想情况下,您还会使用 Sudo,但上述方法比简单地在 root 下进行 SSH 连接更合适。正如其他答案中提到的,您的 sshd 配置可能不允许 root 登录。

root 登录的原因是不允许因为远程 root 访问可以风险较高比所需的安全级别要高。使用上述方法,您必须破解两层才能获得 root 访问权限,而不是直接“敲开前门”。

您还可以查看 /var/log/secure 来了解密码被拒绝的原因。

答案3

我曾经遇到过这个问题。这是因为 sshd 配置不允许 root 登录。

确保在配置文件中将其PermitRootLogin设置为,尽管我不确定在 Debian 下是否可以找到它yes/etc/ssh/sshd_config

答案4

感谢大家的所有建议。我最终偶然解决了这个问题,方法是输入

$ passwd root

并像以前一样做所有事情。我不知道为什么当

$ whoami
root
$ passwd

没有。有人能解释一下吗?

相关内容