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
Amazon ec2 无法使用弹性IP将ssh连接到专用子网_Amazon Ec2_Ssh_Amazon Vpc - Fatal编程技术网

Amazon ec2 无法使用弹性IP将ssh连接到专用子网

Amazon ec2 无法使用弹性IP将ssh连接到专用子网,amazon-ec2,ssh,amazon-vpc,Amazon Ec2,Ssh,Amazon Vpc,我已经设置了一个具有2个子网的VPC。其中一个是公共的,另一个是私人的 我能够使用机器的私有IP地址从公共子网中的实例ssh到私有子网中的实例。但是,如果使用私有实例的弹性IP地址,则连接超时 例如,让我们将公用子网中的EC2实例称为“PUB”,将专用子网中的实例称为PRV PRV具有弹性IP(称为“EIP”)和专用地址(称为PRV_IP) 当我使用私有IP地址从公共实例ssh到私有实例时,连接成功,但是如果我使用私有IP,连接失败 也就是说, ssh-i私钥ec2-user@EIP(成功) s

我已经设置了一个具有2个子网的VPC。其中一个是公共的,另一个是私人的

我能够使用机器的私有IP地址从公共子网中的实例ssh到私有子网中的实例。但是,如果使用私有实例的弹性IP地址,则连接超时

例如,让我们将公用子网中的EC2实例称为“PUB”,将专用子网中的实例称为PRV

PRV具有弹性IP(称为“EIP”)和专用地址(称为PRV_IP)

当我使用私有IP地址从公共实例ssh到私有实例时,连接成功,但是如果我使用私有IP,连接失败

也就是说,
ssh-i私钥ec2-user@EIP(成功)

ssh-i私钥ec2-user@PRV_IP(失败,连接超时)


有人能解释一下为什么使用弹性IP连接会失败吗?

正如您所看到的,将弹性IP连接到私有子网中的实例是一项毫无价值的工作。这是因为每个子网可以有一个默认路由,该路由将指向igw对象(公共子网)或NAT实例/网关(专用子网)

如果将弹性IP绑定到专用子网中的计算机,则入站流量将到达实例,但出站回复流量将通过NAT实例路由回,而NAT实例将丢弃该流量

这就是为什么当您尝试执行SSH时,您的客户机能够向实例发送请求,但实例没有返回响应,因此超时