我正在尝试按照说明进行操作这里在 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 脚本可以做到,那么您也可以做到!