通过公共实例使用ssh连接私有EC2实例

时间:2014-09-08 06:29:40

标签: amazon-web-services ssh amazon-ec2 private public

我有几个EC2实例。 只能从Internet访问一个实例(ssh端口22)。 我想通过第一个连接到ssh中的其他EC2实例。

在所有EC2实例上设置公钥。 我为我的第一个实例启用了转发代理(.ssh / config):

Host my-first-instance
  ForwardAgent yes

我认为这已经足够了但是当我连接到第一个实例并尝试连接到另一个实例(ssh my-second-instance-private-IP)时,我有一个"权限被拒绝"。他们都使用相同的用户。

我使用相同的ssh密钥从第一个实例访问Github并且它可以工作(因此ForwardAgent也可以工作)。

我不想使用VPC功能。

有什么想法吗?

提前致谢。

杰里米

2 个答案:

答案 0 :(得分:0)

我之前通过更改公共实例的ip-tables做了类似的事情,这样我就可以通过连接不同的端口连接到不同的私有实例。这是我写的博客链接,用于解释相同的内容。希望它有所帮助

http://cloudpages.wordpress.com/2013/08/05/ssh-to-an-instance-in-private-subnet/

贝斯茨, 人士Himanshu

答案 1 :(得分:0)

您的权限被拒绝可能是因为您的ec2服务器的authorized_keys中可能没有跳转服务器的pub键。请执行以下操作 -

  1. ssh到第一个ec2实例。
  2. 使用keygen生成公钥和私钥对。
  3. 放入公钥的内容(默认为.ssh / id_rsa.pub(如果你是的话) 在其他ec2实例中使用rsa)).ssh / authorized_keys。
  4. 现在再次检查。