帶有 eb-cli 的 SSH 隧道(elastic beanstalk/aws)

帶有 eb-cli 的 SSH 隧道(elastic beanstalk/aws)

我正在嘗試遵循這個指導設定到我的 rds 資料庫的 ssh 隧道。

特別是這個命令:

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

是的。

正如您所看到的,文件對此不是很清楚,但是當您使用-eor--custom標誌時,您必須-i向底層命令提供標誌ssh,否則它將不會使用正確的密鑰。

因此完整的命令如下所示(例如到隧道連接埠 9229):

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

相關內容