AWS EC2 SSH 无法解析提供的主机名节点名或服务名,或者未知

问题描述 投票:0回答:3

是的,多年来有很多关于这个问题的帖子。他们的解决方案对我没有用。

在我设置 Elastic IP 和 Cloudfront 之前,我从我的 Mac 终端通过 SSH 连接到我的 ec2 实例没有遇到任何问题。一切顺利,实例的原始 IP 已被替换,它正在为我的域提供网页。

我以为我必须为新 IP 做的就是将 SSH 字符串中的公共 DNS 更改为新的。然后我得到了错误。如果我使用旧的,我会得到同样的错误。没有 DNS 问题,因为该站点已经运行了好几天。此外,在 Webstorm 中,我在部署首选项中对主机进行了更改,我可以通过 SFTP 进入实例,而不会出现与以前相同的 .pem 文件。

ssh -i "path/to/ubuntu.pem" [email protected]

@ 符号后的部分是我的 ec2 实例的副本。

那么问题来了,我迁移到 Cloudfront 和 Elastic IP 除了 IP 有什么变化?为什么这只会影响 SSH 而不会影响 SFTP?为什么常规的登录变成了一个难以解决的噩梦?

amazon-ec2
3个回答
4
投票

这不是一个优雅的解决方案,但我将我的 pem 密钥放入 home/ubuntu/.ssh/authorized_keys 并可以使用 Elastic IP 登录:

ssh -i "path/to/ubuntu.pem" [email protected]

用原来的字符串还是登录不上:

[email protected]

我想知道为什么以及如何。


0
投票

可能是ssh命令错误导致的。并且可能是由于您正尝试从未找到 .pem 文件的其他文件夹访问 ssh


0
投票

对我有用的:从 MacOS 到 AWS EC2 的 SSH:

我在 ~.ssh/config 中添加了一个条目,从 AWS 门户中的 EC2 实例详细信息中复制了

Public IPv4 address
Public IPv4 DNS

Host <Public IPv4 address>
        Hostname <Public IPv4 DNS>
        IdentityFile ~/.ssh/<keypair filename>.pem
        IdentitiesOnly yes

然后我可以

ssh -i ~/.ssh/<keypair filename>.pem ec2-user@<Public IPv4 address>
© www.soinside.com 2019 - 2024. All rights reserved.