Linux 当我试图通过公共ec2实例连接私有ec2实例时,如何修复此错误?

Linux 当我试图通过公共ec2实例连接私有ec2实例时,如何修复此错误?,linux,amazon-web-services,amazon-ec2,instance,Linux,Amazon Web Services,Amazon Ec2,Instance,我正在创建两个amazon弹性云计算实例,一个是公共实例,一个是pvt实例。 如何通过公共实例访问私有实例? 要执行的命令是什么? 我试过了 ssh -p port number public-host name private-host name 我收到的错误为访问被拒绝您的情况似乎是: 公共子网中的Amazon EC2实例(连接到Internet网关) 私有子网中的Amazon EC2实例(未连接到Internet网关) 您可以成功地SSH到公共实例中 然后,您希望SSH到私有实例中

我正在创建两个amazon弹性云计算实例,一个是公共实例,一个是pvt实例。
如何通过公共实例访问私有实例?
要执行的命令是什么? 我试过了

ssh -p port number public-host name private-host name

我收到的错误为访问被拒绝

您的情况似乎是:

  • 公共子网中的Amazon EC2实例(连接到Internet网关)
  • 私有子网中的Amazon EC2实例(未连接到Internet网关)
  • 您可以成功地SSH到公共实例中
  • 然后,您希望SSH到私有实例中
您需要使用标准SSH命令:

ssh -i pemfile.pem ec2-user@PRIVATE-IP-ADDRESS
需要注意的一些事项:

  • 通过专用IP地址连接到专用实例。事实上,它不应该有公共DNS名称或公共IP地址
  • 您需要提供一个密钥(pem)文件进行身份验证
提供pem文件有两种方式:

  • 在SSH连接中使用代理转发,或
  • 将pem文件复制到公共实例,并将其作为ssh命令的一部分使用(如上所示)。从安全角度来看,这是不好的,因为进入公共实例的人将能够访问私有实例
此外,这取决于您在专用计算机上使用的是相同的密钥还是不同的密钥。最简单的方法是使用相同的密钥,这使得代理转发更容易


请参阅:

您需要创建一个虚拟私有云(VPC),以便两个云实例相互通信。如果您在具有访问控制(防火墙等)的网络上,则管理员可能已阻止端口22/SSH协议。