-2

我面临着有趣的问题。我已经启动了一个 ec2 实例,它是 ubuntu 14.04。我可以通过提供如下所示的密钥文件 ssh 进入它。

ssh -i "xxxxx.pem" ubuntu@xxxxxxxxxxxx.ap-south-1.compute.amazonaws.com

但是我想在实例中创建另一个帐户,而不是始终使用不安全的 ubuntu(root)。所以我在服务器上用我的名字创建了另一个帐户。为了更安全,我想创建 private( id_rsa) 和 public( id_rsa.pub) 密钥文件。并将公钥放在服务器中.ssh/authorized_keys,我应该能够从我的本地计算机上的新帐户进行 ssh。这也是有效的。现在我可以像下面这样通过 ssh 进入服务器。

ssh naroju@XXXXXXXXXXXXXXX.ap-south-1.compute.amazonaws.com

现在问题来了。虽然我可以从我的新帐户 ssh 到它,但我不能从我的 ubuntu(root) 帐户 ssh 到服务器。它给出了以下错误。

Permission denied (publickey).
  1. 为什么它给我这个错误?
  2. 我想知道为什么它从我的新帐户 ssh 到服务器,它不需要私钥文件(.pemAWS 文件)吗?
4

1 回答 1

0

要在实例上创建新用户(例如naroju),您应该.ssh/authorized_keys在新用户的主目录中创建一个文件:

$ sudo adduser naroju
$ sudo su - naroju
$ mkdir .ssh
$ chmod 700 .ssh
$ touch .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

然后,编辑authorized_keys文件并添加公钥

然后您可以登录到新用户:

$ ssh -i naroju.pem naroju@IPADDRESS

由于您已经修改了用户主目录中的公钥,因此ubuntu您需要ubuntu使用您选择的密钥对的私有部分登录。然后,您可以运行上述命令。

请参阅 Amazon EC2 文档:在您的 Linux 实例上管理用户账户

于 2016-10-30T07:47:47.953 回答