答案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 denied
ssh
sed -i s/#\(PermitRootLogin*\).*/\1 yes/ /etc/ssh/sshd_config