Macos 从MAC到Amazon EC2的SSH连接不工作

Macos 从MAC到Amazon EC2的SSH连接不工作,macos,ssh,amazon-ec2,terminal,Macos,Ssh,Amazon Ec2,Terminal,我正在尝试通过以下方式连接到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 有什么想法吗?您需要在安全组中打开端口22。默认情况下,所有端口都已关闭。您可以尝试像这样更改对您的\u KEYPAIR\u FILE.pem的权限吗 chmod 600 YOUR_

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

有什么想法吗?

您需要在安全组中打开端口22。默认情况下,所有端口都已关闭。

您可以尝试像这样更改对您的\u KEYPAIR\u FILE.pem的权限吗 chmod 600 YOUR_KEYPAIR_FILE.pem

然后发射命令 ssh-i您的密钥对文件.pem ec2-user@YOUR_IP_ADDRESS

  • 登录AWS
  • 转到“实例”部分
  • 单击与EC2实例关联的安全组
  • 在底部单击入站选项卡,然后单击编辑
  • 创建此规则
    现在,您应该能够使用密钥通过ssh连接到端口22上的实例。

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

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

    ssh localhost
    
    这很有效

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

    证明文件:

    首先运行以下命令:

    java-version

    如果没有点击,请为您的操作系统安装相关的java SDK,并在安装后运行

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

    尝试为诊断输出添加
    -vvv
    连接
    -vvv
    将提供更多信息。同时检查您的安全组设置,查看端口22是否对您的位置开放。
    ssh -v -i ~/Downloads/labamikey.pem ec2-user@ec2-34-200-217-2.compute-
    
       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|