【问题标题】:SSH Connection from MAC to Amazon EC2 not working从 MAC 到 Amazon EC2 的 SSH 连接不起作用
【发布时间】:2013-05-30 17:59:53
【问题描述】:

我正在尝试通过以下方式连接到 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

有什么想法吗?

【问题讨论】:

  • 尝试为诊断输出添加-vvv
  • -vvv 联系将为您提供更多信息。还要检查您的安全组设置,看看端口 22 是否对您的位置开放。

标签: macos ssh amazon-ec2 terminal


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

创建这条规则

TYPE         SSH
PROTOCOL     TCP  
PORT RANGE   22  
SOURCE       Anywhere

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      然后射击命令 ssh -i YOUR_KEYPAIR_FILE.pem ec2-user@YOUR_IP_ADDRESS

      【讨论】:

        【解决方案4】:

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

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

        ssh localhost
        

        这很好用!

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

        支持文件: AWS Documentation

        No Java means that your .pem will not be recognised

        从运行以下开始:

        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 ~]$

        【讨论】:

          猜你喜欢
          • 2015-06-22
          • 2013-04-26
          • 1970-01-01
          • 1970-01-01
          • 2012-02-17
          • 2013-11-14
          • 1970-01-01
          • 1970-01-01
          • 2013-10-29
          相关资源
          最近更新 更多