我的本地计算机上有一个Bash脚本test.sh
。
我需要将脚本运行到我的AWS实例,但是要登录到AWS服务器(实例),我需要登录到相应的堡垒服务器,然后登录到实例并运行脚本。
Local >> bastion server >> AWS instances(run test.sh)
在AWS实例上执行的脚本的输出应打印在本地计算机的终端上。
我有3个堡垒服务器和3个AWS实例,我需要在其中运行相同的脚本并获取输出。
bastion1 >> AWS inst_1
bastion2 >> AWS inst_2
bastion3 >> AWS inst_3
有人可以帮我吗?
答案 0 :(得分:0)
您可以使用-J
选项来指定堡垒:
ssh -J bastion1 aws_inst1 "test.sh"
ssh -J bastion2 aws_inst2 "test.sh"
ssh -J bastion3 aws_inst3 "test.sh"
但是,由于从堡垒到AWS实例的映射是固定的,因此我将它们添加到您的ssh配置文件中。 (~/.ssh/config
)
Host aws1
Hostname aws_inst1
ProxyJump bastion1
Host aws2
Hostname aws_inst2
ProxyJump bastion2
Host aws3
Hostname aws_inst3
ProxyJump bastion3
有了这个,您可以简单地编写
ssh aws1 test.sh
ssh aws2 test.sh
ssh aws3 test.sh