2

我正在尝试通过以下方式连接到 Amazon EC2:

ssh -i ~/.ssh/YOUR_KEYPAIR_FILE.pem ec2-user@YOUR_IP_ADDRESS

终端需要 1 或 2 分钟,然后打印:

ssh: connect to host XXX port 22: Operation timed out

有任何想法吗?

4

4 回答 4

3
  1. 登录到 AWS
  2. 转到实例部分
  3. 单击与您的 EC2 实例关联的安全组
  4. 在底部单击入站选项卡,然后单击编辑

创建此规则

TYPE         SSH
PROTOCOL     TCP  
PORT RANGE   22  
SOURCE       Anywhere

您现在应该能够使用您的密钥通过 ssh 连接到端口 22 上的实例。

于 2015-02-18T14:36:17.057 回答
1

您需要在安全组中打开端口 22。所有端口默认关闭。

于 2013-06-04T15:02:47.207 回答
1

您可以尝试将权限更改为 YOUR_KEYPAIR_FILE.pem 像这样 chmod 600 YOUR_KEYPAIR_FILE.pem

然后拍摄命令 ssh -i YOUR_KEYPAIR_FILE.pem ec2-user@YOUR_IP_ADDRESS

于 2013-07-07T17:36:51.463 回答
1

我有一个类似的问题。我一次又一次地检查了我从 ec2 实例到 VPC 一直到 Internet 的所有网络。安全组允许所有源通过端口 22 和 80。我的 NACL 允许正确的权限。我知道 AWS 一切正常,但每次我尝试 ssh 进入实例时,我仍然会遇到操作超时,这表明问题一定出在我的本地机器上。

首先检查 ssh 端口是否打开,我运行了以下命令:

ssh localhost

这很好用!

在网上做了一些研究之后,最后一切都归结为java,我的终端没有识别出我的机器上安装了java。

支持文档: AWS 文档

没有 Java 意味着您的 .pem 将不会被识别

首先运行以下命令:

java -version

如果没有命中,请为您的操作系统安装相关的 java SDK,安装后运行

which java

你应该得到这样的东西:

/usr/bin/java

现在我们可以尝试再次连接到一个实例,希望这次你应该成功!

ssh -v -i ~/Downloads/labamikey.pem ec2-user@ec2-34-200-217-2.compute-

   __|  __|_  )
   _|  (     /   Amazon Linux AMI
  ___|\___|___|

[ec2-user@ip-10-0-0-54 ~]$

于 2017-05-25T08:29:45.963 回答