0

不确定这个问题的最佳标题...我在服务器 A 上有一个 bash 脚本。

工作 Ubuntu 桌面:

ssh -l USER host

*password*

coolscript var1 var2 var3

服务器 A(酷脚本):

command1 $1

command2 $2

现在,我需要coolscript2在传递了第三个参数的情况下在服务器 b 上触发。就像是

run_remote_command_on_server_b coolscript2 $3

服务器 B (coolscript2)

command3 $3

但是,我需要在不必为第二台服务器输入用户/密码的情况下发生这种情况。

4

1 回答 1

2

如果我正确理解您的问题,您需要设置 SSH 密钥。

Arch Linux Wiki 有一篇关于使用 SSH 密钥的精彩文章。你也可以在这里阅读更短的 HOWTO

基本上,当您通过 SSH 从主机 A 登录到主机 B 时,您可以通过生成私钥-公钥对来省略密码验证。私钥存储在主机 A 上,公钥复制到主机 B。

请注意,可以选择使用密码保护 SSH 私钥 - 在您的情况下,您不会这样做。

因此,只需在桌面上生成密钥:

$ ssh-keygen

然后将它们复制到服务器 A 和服务器 B:

$ ssh-copy-id -i ~/.ssh/id_rsa.pub HOST_A
$ ssh-copy-id -i ~/.ssh/id_rsa.pub HOST_B
于 2013-02-28T19:55:34.803 回答