【问题标题】:Connect over ssh using a .pem file使用 .pem 文件通过 ssh 连接
【发布时间】:2016-03-06 20:23:40
【问题描述】:

我想知道如何使用 .pem 文件通过 ssh 连接到任何服务器。

目前我正在执行以下命令:

ssh user@mydomain.com

我应该使用什么选项?

【问题讨论】:

    标签: ssh pem


    【解决方案1】:

    使用-i 选项:

    ssh -i mykey.pem user@mydomain.com
    

    this answer 中所述,此文件需要设置正确的权限。 ssh man page 说:

    如果私钥文件可以被其他人访问,ssh 将简单地忽略它。

    您可以使用以下命令更改权限:

    chmod go= mykey.pem
    

    也就是说,将 group 和 othersequal 的权限设置为空的权限列表。

    【讨论】:

    • 我只是要指出,如果您不是 root,您应该 chmod .pem 文件并为您的用户启用读取权限。
    • 这仅解决等式的客户端。要设置服务器,您需要将公钥复制到 ~/.ssh/authorized_keys 文件中。您可以通过以下方式在本地计算机上执行此操作:“ssh-copy-id -i ~/mykey.pub user@mydomain.com”。
    • 如果端口不同 - ssh -i mykey.pem user@mydomain.com -p 2222
    【解决方案2】:
    chmod 400 mykey.pem
    
    ssh -i mykey.pem user@mydomain.com
    

    将使用 .pem 文件通过 ssh 将您连接到任何服务器。

    【讨论】:

    • "chmod 400" 解决了这个问题:'some_file.pem' 的权限 0777 太开放了。要求您的私钥文件不能被其他人访问。此私钥将被忽略。
    【解决方案3】:

    对于 AWS,如果用户是 ubuntu,请使用以下命令连接到远程服务器。

    chmod 400 mykey.pem
    
    ssh -i mykey.pem ubuntu@your-ip
    

    【讨论】:

      【解决方案4】:

      您可以使用以下命令连接到 AWS ec-2 实例。

      chmod 400 mykey.pem
      
      ssh -i mykey.pem username@your-ip
      

      默认情况下,机器名称通常类似于 ubuntu,因为通常 ubuntu 机器用作服务器,因此以下命令将在这种情况下工作。

      ssh -i mykey.pem ubuntu@your-ip
      

      【讨论】:

        【解决方案5】:

        从终端连接到 AWS AMI:

        chmod 400 mykey.pem
        
        ssh -i mykey.pem ec2-user@mydomain.com
        

        【讨论】:

          猜你喜欢
          • 2019-05-09
          • 2013-05-26
          • 2017-10-15
          • 2021-02-22
          • 1970-01-01
          • 1970-01-01
          • 2020-08-12
          • 2021-11-01
          • 2010-12-22
          相关资源
          最近更新 更多