2013-02-28 67 views
0

不知道最好的标题这个问题......我有一个bash脚本在服务器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 

但是我需要这个,而无需输入用户名/密码的第二个服务器发生。

回答

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 
+0

是做正是我需要的。非常感谢! – 2013-02-28 20:52:34

相关问题