这是我的第一个亚马逊EC2实例,但我很难,谷歌无法帮助我.这些是我采取的步骤:
>生成一个名为aws的密钥对
>下载aws.pem并输入我的/ Users / Jim / Documents / sshkeys文件夹
> CHmod文件和文件夹都是700
>从官方Amazon Debian 6 AMI创建实例
>验证安全设置包括端口22上的SSH(TCIP 22(SSH)0.0.0.0/0)
>运行此命令:
ssh -v -i /Users/James/Documents/sshkeys/aws.pem root@myec2ip
这是我收到的消息:
- OpenSSH_5.9p1,OpenSSL 0.9.8r 8 Feb 2011
- debug1: Reading configuration data /etc/ssh_config
- debug1: /etc/ssh_config line 20: Applying options for *
- debug1: Connecting to myec2ip port 22.
- debug1: Connection established.
- debug1:identity file /Users/James/Documents/sshkeys/aws.pem type -1
- debug1: identity file /Users/James/Documents/sshkeys/aws.pem-cert type -1
- debug1:Remote protocol version 2.0,remote software version OpenSSH_5.5p1 Debian-6+squeeze3
- debug1: match: OpenSSH_5.5p1 Debian-6+squeeze3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0
- debug1:Local version string SSH-2.0-OpenSSH_5.9
- 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: Server host key: RSA ef:06:a0:a3:26:9f:c5:e7:c0:a6:0d:9a:1a:24:27:ef
- debug1: Host ‘myec2ip’ is known and matches the RSA host key.
- debug1: Found key in /Users/James/.ssh/known_hosts:6
- debug1:ssh_rsa_verify: signature correct
- debug1: SSH2_MSG_NEWKEYS sent
- debug1: expecting SSH2_MSG_NEWKEYS
- debug1: SSH2_MSG_NEWKEYS received
- debug1: Roaming not allowed by server
- debug1: SSH2_MSG_SERVICE_REQUEST sent
- debug1: SSH2_MSG_SERVICE_ACCEPT received
- debug1: Authentications that can continue: publickey
- debug1: Next authentication method:publickey
- debug1: Trying private key: /Users/James/Documents/sshkeys/aws.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).
我尝试了一些不同的东西,任何人都可以帮我解决我出错的地方吗?
解决方法
很可能你在/ etc / ssh / sshd_config中有这个:
PermitRootLogin no
然而,这是一件好事.如果要执行特权操作,则应该使用sudo或至少使用sudo -s启动root shell.
在服务器上的/var/log/auth.log中登录失败可能是有原因的.看起来你没有将公钥放在服务器上的/root/.ssh/authorized_keys中,这是root用户需要登录的地方.
在fine print here中埋藏的是默认用户是admin的titbit,而不是Debian AMI中的root.这就是亚马逊将公钥与您下载的私钥相匹配的地方.用这个:
ssh -i /Users/James/Documents/sshkeys/aws.pem admin@myec2ip
默认用户是Amazon AMI中的ec2-user和Ubuntu AMI中的ubuntu.我不知道其他任何人.