带有 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

是的。

正如您所见,文档对此不是很清楚,但是当您使用-e--custom标志时,您必须-i向底层命令提供标志ssh,否则它将不会使用正确的键。

因此完整的命令看起来像这样(例如隧道端口 9229):

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

相关内容