这是我的第一个 Amazon EC2 实例,但我遇到了困难,Google 无法帮助我。以下是我采取的步骤:
- 生成名为 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 2011 年 2 月 8 日
- debug1:读取配置数据/etc/ssh_config
- debug1:/etc/ssh_config 第 20 行:应用选项 *
- debug1:连接到myec2ip端口22。
- debug1:连接已建立。
- debug1:身份文件/Users/James/Documents/sshkeys/aws.pem 类型 -1
- debug1:身份文件 /Users/James/Documents/sshkeys/aws.pem-cert 类型 -1
- debug1:远程协议版本2.0,远程软件版本OpenSSH_5.5p1 Debian-6+squeeze3
- debug1:匹配:OpenSSH_5.5p1 Debian-6+squeeze3 pat OpenSSH* debug1:启用协议 2.0 的兼容模式
- debug1:本地版本字符串SSH-2.0-OpenSSH_5.9
- debug1:SSH2_MSG_KEXINIT 已发送
- debug1: 收到 SSH2_MSG_KEXINIT
- debug1:kex:服务器->客户端aes128-ctr hmac-md5 none
- debug1:kex:客户端->服务器aes128-ctr hmac-md5 none
- debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) 已发送
- 调试1:期望SSH2_MSG_KEX_DH_GEX_GROUP
- debug1: SSH2_MSG_KEX_DH_GEX_INIT 已发送
- debug1:期待 SSH2_MSG_KEX_DH_GEX_REPLY
- debug1:服务器主机密钥:RSA ef:06:a0:a3:26:9f:c5:e7:c0:a6:0d:9a:1a:24:27:ef
- debug1:主机“myec2ip”已知并且与 RSA 主机密钥匹配。
- debug1:在 /Users/James/.ssh/known_hosts:6 中找到密钥
- debug1:ssh_rsa_verify:签名正确
- debug1: SSH2_MSG_NEWKEYS 已发送
- debug1:期望 SSH2_MSG_NEWKEYS
- debug1: 已收到 SSH2_MSG_NEWKEYS
- debug1:服务器不允许漫游
- debug1: SSH2_MSG_SERVICE_REQUEST 已发送
- debug1: 已收到 SSH2_MSG_SERVICE_ACCEPT
- debug1:可以继续的认证:publickey
- debug1:下一个认证方法:publickey
- debug1:尝试私钥:/Users/James/Documents/sshkeys/aws.pem
- debug1:读取PEM私钥完成:输入RSA
- debug1:可以继续的身份验证:publickey debug1:没有其他身份验证方法可以尝试。权限被拒绝(publickey)。
我尝试了几种不同的方法,有人能帮我找出问题所在吗?
答案1
最有可能的是,你的/etc/ssh/sshd_config
:
PermitRootLogin no
但这是一件好事。如果你想要执行特权操作,你应该使用 来执行,sudo
或者至少使用 来启动 root shell sudo -s
。
服务器登录失败很可能是有原因的/var/log/auth.log
。看起来你没有将公钥放在/root/.ssh/authorized_keys
服务器上,而 root 需要将公钥放在服务器上才能登录。
埋在此处印有小字默认用户是行政,而不是 Debian AMI 中的 root。Amazon 将把与您下载的私钥相匹配的公钥放在那里。使用以下命令:
ssh -i /Users/James/Documents/sshkeys/aws.pem admin@myec2ip
默认用户ec2-user
在 Amazon AMI 和ubuntu
Ubuntu AMI 中。我不知道其他用户。
答案2
答案3
.pem
随处下载文件chmod 400 file.pem
ssh -i file.pem ec2-user@ip
(Amazon AWS distrib)或admin@ip
在 LInux 系统上。