免责声明:我对 AWS / EC2 还不是特别熟悉
我需要在客户端 EC2 实例上做一些工作。为此,我们需要 FTP 访问权限。根据我的计算(我可能错了),要访问服务器,我需要使用该实例创建的 PEM/ssh 文件。
由于这些是私钥,因此无法下载。还有其他方法可以访问此服务器的 FTP 吗?
谢谢
答案1
EC2 实例附带一个已设置的用户,称为 ec2-user。这通常用于通过 SSH 连接到实例并执行使其运行所需的任何操作。
没有什么可以阻止客户端创建新用户并设置新密钥。事实上,他们这样做可能是一个好主意,除非他们乐意为您提供 root 访问权限(ec2 用户可以 sudo)并共享帐户。
同样,没有什么可以阻止他们设置 FTP 并创建 FTP 用户供您使用。
总之,他们可能会给您 ec2-user 密钥,或者他们可能会给您另一个用户名(和密钥),或者他们可能只给您 FTP 凭证。您应该询问他们。
编辑:如果他们给你钥匙,那么按照此处的说明连接。
答案2
RSA 私钥首次发布后,您无法下载。因此,如果您的客户端丢失了密码和根卷是 EBS 卷,只有一种方法可以恢复对实例的访问:
- 停止实例。
- 分离卷。
- 创建新实例并选择一个密钥做拥有(或创建新的,保存)。
- 将卷附加到新实例。
- 在新实例内挂载卷。
- 在附加卷上替换密钥
authorized_keys
(类似于/home/ec2-user/.ssh/authorized_keys
)。 - 关闭临时实例,分离卷,将其重新附加到主实例,启动主实例。
答案3
Sergey Kovalev 在这里给出了最好的答案,并且 AWS 实际上在其文档中发布了完全相同的步骤。
如果他们不能提供任何东西,那么您将不可避免地需要重新创建实例。
但是,您能查看站点用于访问 FTP 服务器的配置文件吗?您可以尝试使用这些凭据登录 EC2 实例。