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

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

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

当我发出命令时:

ssh root@localhost

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

sudo -i

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

sudo -s

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

有人能帮我吗?

PS:我调查过这个问题但对我而言似乎不起作用。

答案1

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

PermitRootLogin without-password

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

PermitRootLogin yes

并重新启动 SSH:

sudo service ssh restart

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

cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

答案2

在某些情况下,经过改变后,

PermitRootLogin yes

必须检查此配置:

DenyUsers root
AllowUsers saeid

要启用登录必须更改为:

#DenyUsers root
AllowUsers root OtherUser

答案3

如果你没有设置 root 密码,并且尝试在 spark 或 haddop 上执行命令,例如./sbin/stop-all.sh or./sbin/start-all.sh。如果你没有 root 密码,你可以使用以下命令设置一个

sudo passwd

和射击指令。

答案4

TL;DR 并且喜欢用代码来sed规避permission deniedssh

sed -i s/#\(PermitRootLogin*\).*/\1 yes/ /etc/ssh/sshd_config

相关内容