通过同一子网AWS中的公共实例在子网中ssh私有实例

时间:2018-03-14 18:33:00

标签: amazon-web-services amazon-ec2 amazon-vpc

我是AWS新手。 我创建了一个VPC并创建了2个子网(1个私有和1个公共)。启用Internet网关并使用Internet网关条目更新Route表。

然后为私有子网和公共子网及相关安全组创建2个Linux EC2实例,即公共实例(SSH和HTTP)和私有(SSH,HTTP,ICMP,HTTPS)入站规则。

我使用putty作为windows用户使用mypkv.ppk ssh到我的公共实例,并成功登录到该用户。我成功地能够使用

从这个公共实例ping私有实例
command: ping private-ip-address

但我不知道如何通过这个公共实例ssh到这个私有实例?我尝试了以下命令:

ssh ec2-user@private-ip-address -i mypvk.pem  
ssh ec2-user@private-ip-address -i mypvk.ppk

其中mypvk.pem和mypvk.ppk是存储在我的公共实例上的文件,这些文件是创建EC2实例时给定我的AWS的私钥。

以上命令说:

Enter passphrase for key 'mypvk.pem': 
Enter passphrase for key 'mypvk.ppk': 

我不知道密码或这是什么意思以及如何ssh到私有实例? 任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:1)

Passphrase只是获得系统访问权限的另一个密码,如果你尝试将pem转换为ppk然后你会在putty中看到...因为你不知道密码是什么我可以假设你没有输入密钥的密码

ssh ec2-user @ private-ip-address -i mypvk.pem;使用这个,而不是第二个命令中的ppk文件,你可以得到更多的日志...可能是冗长的

ssh ec2-user @ private-ip-address -i mypvk.pem -vv,

可能您尝试设置公钥,但最后设置了密码

答案 1 :(得分:1)

  1. 在您的putty中启用座席转发功能。 Under “Connection” -> “SSH” -> “Auth”.
  2. 登录公共实例并执行ssh ec2-user@private-ip-address
  3. enter image description here

    Image Source

答案 2 :(得分:0)

假设公共和私有实例都使用相同的密钥启动,为了从公共实例访问私有实例,您需要使用putty启用密钥转发。

关于如何在superuser上执行此操作有一个很好的答案,但基本上它涉及运行代理(pageant.exe)并添加适当的密钥。

答案 3 :(得分:0)

将pem文件复制到公共子网中的实例,尝试连接到私有。确保文件pem中的内容没有错误,即使是一个字符。