13

我刚刚在 AWS 上创建了一个 EC2 实例。在此之前,我创建了我的密钥对,下载了私钥。

我现在正在尝试登录到新创建的实例(使用正确的主机名,当然,为了安全起见,我在这里替换了)。我添加了 -v 开关来获取调试输出:

ssh ec2-user@myVirtualHost.compute-1.amazonaws.com -i ~/EC2key.pem -v

虽然我提供了密钥文件,但我被要求输入密码。这是调试输出的摘录,可能显示出了什么问题:

debug1: Host 'myVirtualHost.compute-1.amazonaws.com' is known and matches the ECDSA host key.
debug1: Found key in /home/myuser/.ssh/known_hosts:15
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/myuser/EC2key.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password
ec2-user@myVirtualHost.compute-1.amazonaws.com's password:[asks for password here]

为什么在“读取 PEM 私钥完成:键入 RSA”之后得出的结论是“可以继续的身份验证:公钥,密码”?

4

3 回答 3

9

我很高兴也很谦虚地报告问题是我试图与不存在的用户进行 ssh。我遵循的教程建议使用与相应 AMI 中的用户名不对应的登录名。这是亚马逊支持人员在仔细检查他们的教程时提出的。

I am not sure if there is a way how to discover the default login name from the EC2 Management Console. At least a quick search for the correct user name in the properties did not turn up any matches.

Now I can log on also without providing the key file through -i option, because I've added the key to my keyring with ssh-add command.

于 2013-03-22T22:56:39.697 回答
1

好吧,就失败的原因而言,这可能是客户端或服务器端。

客户端:确保您的 .ssh 目录的权限为 0700,EC2key.pem 的权限为 0600。

服务器端:确保在您的sshd_config中将“PubkeyAuthentication”设置为“yes” (如果您能够进入的话)。您还可以使用调试模式(-d 标志)手动运行 SSH 服务以捕获其他潜在原因(同样,如果您有权访问)。

于 2013-03-21T13:49:47.167 回答
0

您是否尝试在 Keyring 中添加密码?

去扔这篇文章

http://aws.amazon.com/articles/1233

# vi /etc/ssh/sshd_config

找到线 PasswordAuthentication yes

并将其更改为 PasswordAuthentication no

保存文件并重新启动 sshd: # /etc/init.d/sshd restart

于 2013-03-21T08:59:15.063 回答