我正在尝试使用 Elastic beanstalk 来部署应用程序,我需要做的事情之一是能够登录到底层 ec2 实例并添加依赖项。我向实例添加了 key 对,并将私钥文件放在我的计算机上的 ~/.ssh 中。接下来,我为 ec2 实例指定了 key 对,然后它重新启动,最终状态变为绿色
当我尝试 ssh 进入 ec2 实例时,出现以下错误:
$ ssh <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e18482d3cc94928493a18c98888f9295808f8284cf9492cc84809295ccd0cf848d80929588828384808f9295808d8acf828e8c" rel="noreferrer noopener nofollow">[email protected]</a>
<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="026761302f77716770426f7b6b6c7176636c61672c77712f676371762f332c676e6371766b616067636c7176636e692c616d6f" rel="noreferrer noopener nofollow">[email protected]</a>: Permission denied (publickey).
在文档中说这可能是由于用户名不正确造成的。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html
有谁知道由elastic beanstalk创建的ec2实例的默认用户名是什么?
此外,如果我做错了,也希望得到一些指示。
最佳答案
1.确保您的连接方式没有错误:
转到 EC2-> 实例
选择您的实例
然后按“连接”
您应该从连接弹出窗口的说明中获取连接命令。那里提到了正确的用户名以及如何在 pem 上设置正确权限的说明(适用于 Linux)
2. 确保您修改了尝试连接的实例的安全组,使其允许从您电脑的 IP 进行 ssh。 (问题并非如此,因为错误是权限被拒绝(公钥),这意味着这不是 sg 问题,thx @diego)
3. 此外,如果您从公司网络进行连接,请尝试从其他网络进行连接。可能是防火墙问题。
4. 最后但并非最不重要的一点是,确保您在 .ssh 路径内进行 ssh,或提供正确的 pem 路径
关于amazon-web-services - 由 elastic beanstalk 生成的 ec2 实例的默认用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56245832/