我正在尝试在
user1@host1
TO之间设置 SSH 信任(用于无密码身份验证),user2@host2
以便user1@host1
可以将远程脚本作为user2@host2
.
两个账号,user1
都是user2
没有密码的账号。我可以访问两台主机上的 root 帐户(这意味着我可以成为user1@host1
和user2@host2
)。
这是我到目前为止所做的:
On host1 as user1:
ssh-keygen -t rsa
Copied the contents of .pub file generated from above
command to host2:~user2/.ssh/authorized_keys
Changed the permissions on host2:~user2/.ssh to 644 and host2:~user2/.ssh/*.pub to 600
现在,当我尝试从 登录user1@host1
时user2@host2
,系统会提示我输入user2@host2
密码,但由于该帐户是在没有密码的情况下创建的,因此我无法在那里输入密码。我相信~user2/.ssh/ (on host2)
需要一个known_hosts 文件,只有当我能够从 至少成功登录一次时才会创建该文件user1@host1
。是否有其他方法来生成我可以添加到文件中的内容~user2/.ssh/known_hosts
?
答案1
您不需要创建文件known_hosts
,您需要创建一个authorized_keys
文件。它将包含 的公钥user1@host1
。鉴于您到目前为止所做的工作,只需将.pub
您创建的文件重命名~user2/.ssh/
为authorized_keys
就可以了。
答案2
唯一需要该known_hosts
文件的主机是正在连接的主机从。缺少的部分是您说您已将公钥复制到远程主机,但您暗示它只是例如id_rsa.pub
。将该文件重命名为authorized_keys
并确保您具有host2
设置权限,如下所示:
/home/user2/.ssh/
- 0700/home/user2/.ssh/authorized_keys
- 0644
那么你应该host1
能够ssh user2@host2
。