SSH к вложенным серверам - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть скрипт 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

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете использовать опцию -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
...