SSH-туннель с eb-cli (elastic beanstalk/aws)

SSH-туннель с eb-cli (elastic beanstalk/aws)

Я пытаюсь следовать этомугиддля настройки SSH-туннеля к моей базе данных RDS.

В частности эта команда:

ssh -N -L localPort:rdsHost:remotePort user@remoteHost -i ~/path/to/key

Однако я использую aws-elastic-beanstalk с eb-cli.

Eb cli обеспечивает eb -sshподключение к экземпляру по протоколу SSH.

eb ssh -e '-N -L localPort:rdsHost:remotePort'

из документации eb:

-e CUSTOM, --custom CUSTOM Укажите команду SSH для использования вместо 'ssh -i keyfile'. Не включайте удаленного пользователя и имя хоста.

Однако это приводит только к следующему выводу и завершает работу вместо создания туннеля.

INFO: Attempting to open port 22.
INFO: SSH port 22 open.
INFO: Running -N -L localPort:rdsHost:remotePort ec2-user@ip-of-instance

Возможно ли создать туннель с помощью eb-cli?

решение1

Да.

Как вы видели, документация не очень ясно говорит об этом, но когда вы используете флаг -eили --custom, вы должнытакжеукажите -iфлаг для базовой sshкоманды, иначе она не будет использовать нужную клавишу.

Таким образом, полная команда будет выглядеть следующим образом (например, для туннельного порта 9229):

   eb ssh --custom 'ssh -i ~/.ssh/keyfile.pem -L 9229:localhost:9229'

Связанный контент