Estoy tratando de seguir estoguíapara configurar un túnel ssh a mi base de datos rds.
En particular este comando:
ssh -N -L localPort:rdsHost:remotePort user@remoteHost -i ~/path/to/key
Sin embargo, estoy usando aws-elastic-beanstalk con eb-cli.
El eb cli permite eb -ssh
conectarse a través de ssh a una instancia.
eb ssh -e '-N -L localPort:rdsHost:remotePort'
de la documentación de eb:
-e CUSTOM, --custom CUSTOM Especifica un comando SSH para usar en lugar de 'ssh -i keyfile'. No incluya el usuario remoto ni el nombre de host.
Sin embargo, esto solo produce el siguiente resultado y finaliza en lugar de crear un 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
¿Es posible crear un túnel con eb-cli?
Respuesta1
Sí.
Como has visto, la documentación no es muy clara al respecto, pero cuando usas el flag -e
o --custom
, debestambiénproporcione la -i
bandera al ssh
comando subyacente o no usará la clave correcta.
Entonces el comando completo se vería así (por ejemplo, al puerto del túnel 9229):
eb ssh --custom 'ssh -i ~/.ssh/keyfile.pem -L 9229:localhost:9229'