我下载了cert-xxx.pem和pk-xxx.pem文件以及keypair.pem,并将其全部移到我的Ubuntu客户机上的/.ssh文件夹中。
这是我在最后尝试使用-v进行SSH时所得到的结果
debug1:收到SSH2_MSG_SERVICE_ACCEPT debug1:可以继续的身份validation:publickey debug1:下一个身份validation方法:publickey debug1:尝试私钥:/root/.ssh/identity debug1:尝试私钥:/root/.ssh/id_rsa debug1:尝试私钥:/root/.ssh/id_dsa debug1:没有更多的身份validation方法来尝试。 权限被拒绝(publickey)。
我是pipe理服务器的新手,我想知道是否应该尝试将pem文件转换为id_rsa和id_dsa。 我不太确定这是否可能,但我不知道如何从这些pem文件中获取id_rsa,id_dsa,或者是否有任何解决办法。 我第一次设法访问EC2,这是我的第二次尝试,到目前为止我还没有成功。
任何帮助表示赞赏。 问候沃克
在login尝试失败之后添加日志
myvers@ubuntu:~$ ssh -v -i /home/myvers/.ssh/keyTwo.pem [email protected] OpenSSH_5.3p1 Debian-3ubuntu4, OpenSSL 0.9.8k 25 Mar 2009 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to ec2-xxx-xxx-xxx-xx.compute-1.amazonaws.com xxx-xxx-xxx-xx port 22. debug1: Connection established. debug1: identity file /home/myvers/.ssh/keyTwo.pem type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu4 debug1: match: OpenSSH_5.3p1 Debian-3ubuntu4 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu4 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host 'ec2-xxx-xxx-xxx-xx.compute-1.amazonaws.com' is known and matches the RSA host key. debug1: Found key in /home/myvers/.ssh/known_hosts:3 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey debug1: Next authentication method: publickey debug1: Offering public key: myvers@ubuntu debug1: Authentications that can continue: publickey debug1: Trying private key: /home/myvers/.ssh/keyTwo.pem debug1: read PEM private key done: type RSA debug1: Authentications that can continue: publickey debug1: No more authentication methods to try. Permission denied (publickey).
它没有find私钥,所以使用-i identity_file选项。
ssh -i〜/ .ssh / cert-xxx.pem user @ host
cert- *文件是用于访问AWS API的X.509证书。 这不是一个SSH密钥。 IIRC,keypair.pem应该是你的私人SSH密钥。 尝试使用它作为我们的身份文件。
它正在寻找id_rsa和id_dsa的唯一原因是因为你没有告诉它在哪里可以find一个可以使用的私钥,而是回到了默认值。 所以不要担心有一个id_rsa文件,而是担心如何让它使用您的PK-xxx.pem文件。
以下语法应该工作:
ssh -i /path/to/keypair.pem [email protected]
看看这是否有帮助,你需要添加证书和密钥到你的〜/ .bashrc文件
谢谢大家的帮助和投入。 大家都在这里,希望所有这些都能在未来帮助别人。 我做错了,我也从AWS控制台创buildKeypair.pem和SSH下载。 这不是必需的。 所有你需要的是你的证书,只要按照这个链接中的步骤build议keanu。 https://help.ubuntu.com/community/EC2StartersGuide
亚马逊是真正安全和简单,我非常惊讶于他们如何build立这个创build您的ami和通过SSHlogin只有pem文件和variables设置的过程。 我一直在使用linode,而且我对整个服务器创build和login过程已经被简化和保护的方式感到不知所措。 对于初学者来说,这是一个很好的教训,可以让初学者认识到不为他们服务的重要性,他们一直在为许多专业人士build议不要做的事情,并意识到如何安全地访问您的服务器。 再次感谢eveyone的帮助和投入。