【发布时间】:2017-03-11 02:10:28
【问题描述】:
我面临着有趣的问题。我已经启动了一个 ec2 实例,它是 ubuntu 14.04。我可以通过提供如下所示的密钥文件 ssh 进入它。
ssh -i "xxxxx.pem" ubuntu@xxxxxxxxxxxx.ap-south-1.compute.amazonaws.com
但我想在实例中创建另一个帐户,而不是始终使用不安全的 ubuntu(root)。所以我在服务器上用我的名字创建了另一个帐户。为了更安全,我想创建私有(id_rsa)和公共(id_rsa.pub)密钥文件。并将公钥放在服务器.ssh/authorized_keys 中,我应该能够从我的本地机器上的新帐户中进行 ssh。这也是有效的。现在我可以像下面这样通过 ssh 进入服务器了。
ssh naroju@XXXXXXXXXXXXXXX.ap-south-1.compute.amazonaws.com
现在问题来了。虽然我可以从我的新帐户 ssh 到它,但我不能从我的 ubuntu(root) 帐户 ssh 到服务器。它给出了以下错误。
Permission denied (publickey).
- 为什么会出现这个错误?
- 我想知道为什么它会从我的新帐户 ssh 进入服务器,它不需要私钥文件(
.pemAWS 文件)吗?
【问题讨论】:
-
你添加的
.ssh/authorized_keys的完整路径是什么? -
服务器中是
/home/ubuntu/.ssh/authorized_keys -
好的,如果你在
/home/ubuntu更改了它,那么你更改了ubuntu用户的密钥。如果你现在想以ubuntu登录,你需要提供新添加的公钥对应的私钥 -
我刚刚删除了
/home/ubuntu/.ssh/authorized_keys并在提供.pem文件时实现了 ssh 。结果相同。 -
你不能删除它,你需要一对:
.ssh/authorized_keys的公共的,你的 ssh 客户端的私有的
标签: amazon-web-services ubuntu amazon-ec2 ssh-keys ssh-keygen