ssh 连接的 root@localhost 权限被拒绝

vna*_*y92 35 server ssh permissions apache2

我刚刚安装了 Ubuntu 14.04 和 LAMP。然后,我想配置我的服务器,所以尝试了这个教程。

当我发出命令时:

ssh root@localhost
Run Code Online (Sandbox Code Playgroud)

我得到:权限被拒绝,请重试。我已通过以下命令以 root 用户身份登录:

sudo -i
Run Code Online (Sandbox Code Playgroud)

我也尝试了同样的方法,通过以下方式登录:

sudo -s
Run Code Online (Sandbox Code Playgroud)

我使用的密码与我以前以用户身份登录时使用的密码相同,但仍然收到相同的错误消息。

有人可以帮我吗?

PS:我调查了这个问题,但似乎对我不起作用。

mur*_*uru 72

默认情况下,SSH 服务器拒绝 root 用户基于密码的登录。在 中/etc/ssh/sshd_config,如果存在以下行,则可能被注释掉(#前面有 a ):

PermitRootLogin without-password
Run Code Online (Sandbox Code Playgroud)

然后将其更改为以下内容,根据需要取消注释(删除#前面的):

PermitRootLogin yes
Run Code Online (Sandbox Code Playgroud)

并重新启动 SSH:

sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用 SSH 密钥。如果您没有,请创建一个使用ssh-keygen(坚持密钥的默认值,如果您愿意,请跳过密码)。然后执行sudo -s(或任何您首选的成为 root 的方法),并将 SSH 密钥添加到/root/.ssh/authorized_keys

cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
Run Code Online (Sandbox Code Playgroud)


小智 6

在某些情况下,更改后,

PermitRootLogin yes
Run Code Online (Sandbox Code Playgroud)

必须检查这个配置:

DenyUsers root
AllowUsers saeid
Run Code Online (Sandbox Code Playgroud)

并启用登录必须更改为:

#DenyUsers root
AllowUsers root OtherUser
Run Code Online (Sandbox Code Playgroud)