Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 通过公共实例使用ssh连接私有EC2实例_Amazon Web Services_Ssh_Amazon Ec2_Private_Public - Fatal编程技术网

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

Amazon web services 通过公共实例使用ssh连接私有EC2实例,amazon-web-services,ssh,amazon-ec2,private,public,Amazon Web Services,Ssh,Amazon Ec2,Private,Public,我有几个EC2实例。 只有一个实例可以从Internet访问(ssh端口22)。 我想通过第一个实例连接到ssh中的其他EC2实例 在所有EC2实例上设置公钥。 我为我的第一个实例启用转发代理(.ssh/config): Host my-first-instance ForwardAgent yes 我认为这已经足够了,但是当我连接到第一个实例并尝试连接到另一个实例(ssh我的第二个实例私有IP)时,我有一个“权限被拒绝”。它们都使用相同的用户 我使用相同的ssh密钥从第一个实例访问Git

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

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

Host my-first-instance
  ForwardAgent yes
我认为这已经足够了,但是当我连接到第一个实例并尝试连接到另一个实例(ssh我的第二个实例私有IP)时,我有一个“权限被拒绝”。它们都使用相同的用户

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


我不想使用VPC功能

有什么想法吗

提前谢谢


Jeremy

我之前也做过类似的事情,更改了公共实例的ip表,这样我就可以通过连接不同的端口连接到不同的私有实例。这是我写的博客的链接,也是为了解释这一点。希望能有帮助

最好的,
Himanshu

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

  • ssh到第一个ec2实例
  • 使用keygen生成公钥和私钥对
  • 放置公钥的内容(默认值为.ssh/id_rsa.pub)(如果您是 在其他ec2实例的.ssh/authorized_密钥中使用rsa)

  • 现在再次检查。

    “我不想使用专有网络功能。”为什么?以下内容可能会有所帮助:我读了那篇文章,这就是我一开始所做的。但它仍然不起作用。我不明白为什么从第一个实例访问Github时使用的密钥与第二个实例中信任的密钥相同。奇怪。我更想找一种不生成另一个密钥对的方法。我想我只能使用一个在两个实例中都受信任的密钥对(授权密钥),但只能通过第一个实例连接到第二个实例。我试图避免在VPC中配置更多的东西,但可能是更灵活和最先进的方式。。。谢谢。如果你能对我的答案竖起大拇指以防万一,我将不胜感激;)我的低声誉不允许我对你的答案投赞成票:-),我仍然被我的远期代理问题所困扰。