【问题标题】:SSH to nested serversSSH 到嵌套服务器
【发布时间】:2019-02-13 11:32:10
【问题描述】:

我的本​​地机器上有一个 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

谁能帮帮我?

【问题讨论】:

标签: shell ssh


【解决方案1】:

您可以使用-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

【讨论】:

    猜你喜欢
    • 2021-07-24
    • 2020-01-07
    • 2019-11-10
    • 1970-01-01
    • 2020-09-22
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-12-11
    相关资源
    最近更新 更多