SSH-Tunnel mit eb-cli (Elastic Beanstalk/AWS)

SSH-Tunnel mit eb-cli (Elastic Beanstalk/AWS)

Ich versuche, dies zu befolgenFührungum einen SSH-Tunnel zu meiner RDS-Datenbank einzurichten.

Insbesondere dieser Befehl:

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

Ich verwende jedoch aws-elastic-beanstalk mit der eb-cli.

Die EB-CLI ermöglicht eb -sshdie Verbindung zu einer Instanz über SSH.

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

aus der EB-Dokumentation:

-e BENUTZERDEFINIERT, --custom BENUTZERDEFINIERT Geben Sie einen SSH-Befehl an, der anstelle von „ssh -i keyfile“ verwendet werden soll. Geben Sie den Remote-Benutzer und Hostnamen nicht an.

Dies führt jedoch nur zu folgender Ausgabe und wird beendet, anstatt einen Tunnel zu erstellen.

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

Ist es möglich, mit EB-CLI einen Tunnel zu erstellen?

Antwort1

Ja.

Wie Sie gesehen haben, ist die Dokumentation nicht sehr klar, aber wenn Sie das Flag -eoder verwenden --custom, müssen SieAuch-iGeben Sie dem zugrunde liegenden Befehl das Flag an ssh, sonst wird nicht der richtige Schlüssel verwendet.

Der vollständige Befehl würde also wie folgt aussehen (z. B. zum Tunneln von Port 9229):

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

verwandte Informationen