如何触发远程bash脚本

时间:2013-02-28 19:51:29

标签: bash ssh scp

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

工作Ubuntu桌面:

ssh -l USER host

*password*

coolscript var1 var2 var3

服务器A(coolscript):

command1 $1

command2 $2

现在,我需要在服务器b上触发coolscript2并传递第三个参数。

之类的东西
run_remote_command_on_server_b coolscript2 $3

服务器B(coolscript2)

command3 $3

然而,我需要这样做,而无需为第二台服务器输入用户/通行证。

1 个答案:

答案 0 :(得分:2)

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

Arch Linux Wiki使用SSH密钥有great article。 您还可以阅读shorter HOWTO here

基本上,当您通过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