使用 .pem 文件通过 ssh 连接
Posted
技术标签:
【中文标题】使用 .pem 文件通过 ssh 连接【英文标题】:Connect over ssh using a .pem file 【发布时间】:2016-03-06 20:23:40 【问题描述】:我想知道如何到任何服务器。
目前我正在执行以下命令:
ssh user@mydomain.com
我应该使用什么选项?
【问题讨论】:
【参考方案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
【讨论】:
以上是关于使用 .pem 文件通过 ssh 连接的主要内容,如果未能解决你的问题,请参考以下文章