问题描述
我刚刚安装了 Ubuntu 14.04 和 LAMP。然后,我想配置我的服务器,所以尝试了 This 教程。
当我发出命令时:
ssh root@localhost
我得到:权限被拒绝,请重试。我已通过以下命令以 root 用户身份登录:
sudo -i
我也尝试了同样的方法,通过以下方式登录:
sudo -s
我使用的密码与我以前以用户身份登录时使用的密码相同,但仍然收到相同的错误消息。
有人可以帮我吗?
PS:我查看了 This question 但似乎对我不起作用。
最佳回答
默认情况下,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
次佳回答
在某些情况下,更改后,
PermitRootLogin yes
必须检查这个配置:
DenyUsers root
AllowUsers saeid
并启用登录必须更改为:
#DenyUsers root
AllowUsers root OtherUser
第三种回答
如果您没有为 root 提供密码,并且您尝试在 spark 或 haddop 上触发命令,例如 ./sbin/stop-all.sh or./sbin/start-all.sh
。如果你没有 root 密码,你可以设置一个使用
sudo passwd
和开火命令。