如何为 root 账户设置无密码 ssh?

如何为 root 账户设置无密码 ssh?

我正在尝试按照说明进行操作这里在 root 账户之间设置无密码 ssh(使用 Ambari 所需)。

但是,这涉及到ssh-copy-id user@machine用户是 root,当我尝试执行此操作时:系统ssh-copy-id root@mypc要求我输入 root 的密码。据我所知,没有密码,但如果我错了,请纠正我,并感激任何其他指示。

编辑:所以我试图做的是“在远程机器的authorized_keys中安装你的公钥”,但我是否总是需要为此使用root密码,或者还有其他方法可以做到这一点?

答案1

在远程机器上输入

sudo passwd

这将允许您在远程电脑上设置 root 密码。

然后你就可以在本地机器上输入

ssh-copy-id root@remotepc

之后,系统将提示您输入密码,您需要输入之前创建的密码。

从那时起当你输入

ssh root@remotepc

系统不会提示您输入密码。

答案2

ssh-copy-id不是魔法!

# where is ssh-copy-id?
$ type -p ssh-copy-id
/usr/bin/ssh-copy-id
# What is ssh-copy-id?
$ file $( !! )
file $( type -p ssh-copy-id )
/usr/bin/ssh-copy-id: POSIX shell script, ASCII text executable

接下来,您需要阅读ssh-copy-id,找出它ssh-copy-id的作用,并找到完成相同任务的其他方法。如果 shell 脚本可以做到,那么您也可以做到!

答案3

看起来像这样这个问题可能会提供答案。我需要“使用 sudo -s 以 root 身份登录,然后使用 passwd 命令设置 root 密码。”

解决方案:我使用了 sudo su - root 和 passwd,效果很好。然而,尝试时这导致了权限被拒绝的错误ssh -l root slave3,这是新的问题

相关内容