尽管使用了 pem 文件,但 ssh 进入 EC2 实例仍要求输入密码

尽管使用了 pem 文件,但 ssh 进入 EC2 实例仍要求输入密码

我在 Windows 机器上下载了 pem 文件,并且能够使用 puttygen 生成的 ppk 文件(其中包含公钥和私钥)连接到我的实例。我将 pem 文件复制到 Linux 机器上并尝试,但 ssh 要求我输入密码。调试输出()如下:ssh -i pemfile.pem [email protected] -v-v

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/w/jpgate.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password
[email protected]'s password:

所以我想我需要一个公钥,对吧?如何在 Linux 上获取公钥?为什么每个教程都告诉我只需要?ssh -i key.pem [email protected]

答案1

您使用哪种 AMI / Linux 发行版?

也许不允许以身份登录root。例如,对于 Amazon Linux AMI,您必须以身份登录ec2-user(不确定破折号),而对于 Ubuntu AMI,则以用户身份登录ubuntu

答案2

我刚刚自己找到了解决方案:
我还没有生成 ssh 公钥(没有id_rsaid_rsa.pub~/.ssh/),所以我生成了一个:
ssh-keygen -t rsa -C "[email protected]"

编辑:
如果用户名错误,调试打印结果将如下所示问题。

答案3

很多 EC2 信息暗示用户名通常或总是ec2-user。 事实并非如此。 它可以root用于 CentOS、ubuntuUbuntu 等。 无论出于什么原因,用户名都没有记录在 AMI 中! 非常烦人。 您可能必须尝试不同的用户名。

如果 SSH 提示您输入密码,那证明提供的用户名是错误的。

答案4

我们刚刚遇到了同样的问题。罪魁祸首是 /home 目录没有用户的执行权限

相关内容