在 2 个服务帐户之间设置 SSH 信任

在 2 个服务帐户之间设置 SSH 信任

我正在尝试在 user1@host1TO之间设置 SSH 信任(用于无密码身份验证),user2@host2以便user1@host1可以将远程脚本作为user2@host2.

两个账号,user1都是user2没有密码的账号。我可以访问两台主机上的 root 帐户(这意味着我可以成为user1@host1user2@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@host1user2@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

相关内容