我无法使用新创建的用户和密钥对通过 ssh 连接到我的 Amazon AWS Ubuntu 实例?

我无法使用新创建的用户和密钥对通过 ssh 连接到我的 Amazon AWS Ubuntu 实例?

我创建了一个名为我的实例的用户grader并授予它 sudo 权限,同时我将密码设置/etc/ssh/sshd_config为关闭。

我在本地机器上生成了一个密钥对,并将公钥添加到实例中。当我尝试使用 Amazon AWS 提供的默认用户和我生成的密钥访问实例时,它可以正常工作

ssh -i "udacityLinux" [email protected]

但是当我尝试使用用户执行相同操作时grader出现此错误:

ssh -i "udacityLinux" [email protected]
[email protected]: Permission denied (publickey).

我该如何修复此问题才能使用我的grader用户登录?

答案1

您似乎对上传到服务器的公钥存在误解。

~/.ssh/authorized_keys该密钥必须存储在每个应通过该密钥识别的用户的文件中。

此路径~/.ssh/authorized_keys相当于您当前的用户目录,如果您以grader用户身份登录,该路径将指向:

/home/grader/.ssh/authorized_keys

如果您以用户身份登录ubuntu,该路径将指向:

/home/ubuntu/.ssh/authorized_keys

因此现在您可以使用以下命令复制密钥文件:

sudo cp /home/ubuntu/.ssh/authorized_keys /home/grader/.ssh/

然后设置正确的所有者和权限:

sudo chown grader:grader /home/grader/.ssh/authorized_keys
sudo chmod 0600 /home/grader/.ssh/authorized_keys

请记住,现在您也接受您可能为ubuntu用户启用的所有密钥。grader

相关内容