【问题标题】:Connect private EC2 instances using ssh via public instance通过公共实例使用 ssh 连接私有 EC2 实例
【发布时间】:2014-11-01 08:02:21
【问题描述】:

我有几个 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 功能。

有什么想法吗?

提前致谢。

杰里米

【问题讨论】:

  • “我不想使用 VPC 功能。”为什么?以下内容可能会有所帮助:blogs.aws.amazon.com/security/post/Tx3N8GFK85UN1G6/…
  • 我读过那篇文章,这就是我最初所做的。但它仍然不起作用。而且我不明白为什么对 Github 的访问是从第一个实例使用第二个实例中信任的相同密钥进行的。很奇怪。

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


【解决方案1】:

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

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

最好的, 喜满洲

【讨论】:

  • 我试图避免在 VPC 中配置更多的东西,但可能是更灵活和最先进的方式......谢谢。
  • 如果您能对我的回答竖起大拇指,我将不胜感激;)
  • 我的低声誉不允许我支持你的答案 :-) 我仍然被我的前向代理问题所困扰。
【解决方案2】:

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

  1. ssh 到第一个 ec2 实例。
  2. 使用 keygen 生成公钥和私钥对。
  3. 把公钥的内容(默认是.ssh/id_rsa.pub(如果你是 在其他 ec2 实例的 .ssh/authorized_keys 中使用 rsa))。

现在再次检查。

【讨论】:

  • 我更多的是寻找一种不生成另一个密钥对的方法。我以为我只能在两个实例中使用一个受信任的密钥对(authorized_keys),但只能通过第一个实例连接到第二个实例。
猜你喜欢
  • 2020-07-03
  • 1970-01-01
  • 1970-01-01
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 2017-09-03
  • 2018-08-10
相关资源
最近更新 更多