Estou tentando seguir issoguiapara configurar um túnel ssh para meu banco de dados RDS.
Em particular este comando:
ssh -N -L localPort:rdsHost:remotePort user@remoteHost -i ~/path/to/key
No entanto, estou usando o aws-elastic-beanstalk com o eb-cli.
O eb cli permite eb -ssh
conectar via ssh a uma instância.
eb ssh -e '-N -L localPort:rdsHost:remotePort'
da documentação eb:
-e CUSTOM, --custom CUSTOM Especifique um comando SSH para usar em vez de 'ssh -i keyfile'. Não inclua o usuário remoto e o nome do host.
No entanto, isso produz apenas a seguinte saída e termina em vez de criar um túnel.
INFO: Attempting to open port 22.
INFO: SSH port 22 open.
INFO: Running -N -L localPort:rdsHost:remotePort ec2-user@ip-of-instance
É possível criar um túnel com o eb-cli?
Responder1
Sim.
Como você viu, a documentação não é muito clara sobre isso, mas quando você usa a flag -e
ou --custom
, você devetambémforneça o -i
sinalizador ao ssh
comando subjacente ou ele não usará a chave correta.
Portanto, o comando completo ficaria assim (por exemplo, para encapsular a porta 9229):
eb ssh --custom 'ssh -i ~/.ssh/keyfile.pem -L 9229:localhost:9229'