我在 Amazon EC2 上创建了一个 Ubuntu 12.04 实例。
我已经下载了 PEM 文件并且能够通过 SSH 连接到实例,没问题。
现在,我想在远程实例上为顾问等创建一些帐户。他们应该能够使用 RSA 密钥 ssh 进入盒子。在 EC2 机器上,我在 ~/home/ 中设置了几个帐户,并将它们分配给组 admin。我也给自己一个类似的帐户(MyTestAccount)进行测试。这就是我所做的:
我使用 key-gen 在本地机器 (~/.ssh) 上的 .ssh 目录中创建公钥和私钥:
drwx------ 2 peter peter 1024 Sep 14 10:23 .ssh
和里面的文件:
-rw------- 1 peter peter 1675 Sep 14 10:23 id_rsa
-rw------- 1 peter peter 394 Sep 14 10:23 id_rsa.pub
-rw------- 1 peter peter 444 Sep 14 00:05 known_hosts
然后,我将 id_rsa.pub 文件 SCP 到我的远程 EC2 实例中,并将其附加到我的远程实例中的 .ssh/authorized_keys 文件中。我的远程 .ssh 目录的权限:
drwx------ 2 ubuntu ubuntu 4096 Sep 16 16:13 .ssh
而我的 authorized_keys 文件:
-rw------- 1 peter ubuntu 1179 Sep 14 00:05 authorized_keys
接下来,我注销了我的远程实例并尝试使用新密钥通过 SSH 连接到远程机器。当我发出以下命令时:
peter@ubuntu:~/.ssh$ ssh -vvv MyTestAccount@ec2-XX-XXX-XX-XXX.compute-1.amazonaws.com
我得到以下。我的私钥好像有问题?有什么建议么?谢谢。
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: need priv 0
debug1: Connecting to ec2-XX-XXX-XX-XXX.compute-1.amazonaws.com [XX.XXX.XX.XXX] port 22.
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/peter/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /home/peter/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/peter/.ssh/id_rsa-cert type -1
debug1: identity file /home/peter/.ssh/id_dsa type -1
debug1: identity file /home/peter/.ssh/id_dsa-cert type -1
debug1: identity file /home/peter/.ssh/id_ecdsa type -1
debug1: identity file /home/peter/.ssh/id_ecdsa-cert type -1
[剪辑...]
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/peter/.ssh/id_dsa
debug3: no such identity: /home/peter/.ssh/id_dsa
debug1: Trying private key: /home/peter/.ssh/id_ecdsa
debug3: no such identity: /home/peter/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try. **Permission denied (publickey).**