我面临着一个有趣的问题。我启动了一个ubuntu 14.04的ec2实例。我可以通过提供如下所示的密钥文件来使用它。
ssh -i "xxxxx.pem" [email protected]
但是我想到了在实例中创建另一个帐户,而不是总是使用ubuntu(root),这是不安全的。因此,我在服务器上用我的名字创建了另一个帐户。为了提高安全性,我想到了创建private(id_rsa
)和public(id_rsa.pub
)密钥文件。并将公钥放入服务器.ssh/authorized_keys
,我应该能够从本地计算机的新帐户中使用ssh。这也是可行的。现在我可以像下面这样进入服务器。
ssh [email protected]
现在问题来了。尽管我可以从新帐户登录到服务器,但不能从ubuntu(root)帐户登录到服务器。它给出了以下错误。
Permission denied (publickey).
.pem
AWS的文件)?要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实例上管理用户帐户
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句