如何设置无需交互的 ssh 密钥系统?

如何设置无需交互的 ssh 密钥系统?

我需要能够设置一个ssh无需交互的密钥系统。我不在乎是否需要安装软件包或以明文形式输入密码。

我如何才能建立一个设置ssh密钥系统的系统,允许机器 Assh使用 ssh 密钥进入机器 B,反之亦然,而无需交互?

答案1

以下是纯代码(复制粘贴不起作用!更改以下my-username内容my-ip)。在两台主机上运行:

#!/bin/bash
apt-get -y install sshpass
ssh-keygen -p -N "" -f ~/.ssh/id_rsa
sshpass -p 'my_password' ssh-copy-id my_username@my_host_2

my_host_2my_host_1机器 2 上替换。

解释:

第一行,#!/bin/bash叫做shebang。看这里了解更多信息。

第二行sshpass无需交互即可安装。

第三行用于ssh-keygen创建密钥。-q表示安静;它不会询问太多。-N ""表示没有密码,-f表示将其保存在默认位置。

最后一行使用ssh-copy-id和复制实际密钥sshpass。您无法echo通过 复制密码stdin,因此我们使用sshpass最接近的等价项。-p是要使用的密码。 的参数ssh-copy-id是要将密钥复制到的用户名和主机。

相关内容