以其他人身份使用 pem 文件进行 ssh

以其他人身份使用 pem 文件进行 ssh

我有一台开发机器和一台服务器。在我的开发机器上,我以 身份登录akonsu,在服务器上,我使用 用户ubuntu

在我的开发机器上,我创建了一个 RSA 密钥对,并将公钥复制到/home/ubuntu/.ssh/authorized_keys

然后在我的开发机器上我pem用我的私钥创建了一个文件:

openssl rsa -in ~/.ssh/id_rsa -outform pem > test.pem

现在我尝试通过 SSH 连接到服务器:

ssh -i test.pem [email protected]

但它仍然要求输入密码。我不知道为什么。请帮忙。

这是我使用选项启动该命令时的部分输出-vvv

debug1: Trying private key: test.pem
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type RSA
debug3: sign_and_send_pubkey: RSA f0:45:ac:1b:2b:ef:87:ef:b5:1e:26:77:78:1b:33:1c
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password

答案1

由于某种原因,我在 rackspace 上关注的文章(http://www.rackspace.com/knowledge_center/article/configuring-basic-security-0) 指示600在服务器上设置公钥的权限:

chmod 600 /home/ubuntu/.ssh/authorized_keys

我猜这就是问题所在。当我为所有者启用读取权限时,一切正常:

ubuntu@myserver:~$ l -l .ssh/
total 12
drwx------ 2 ubuntu ubuntu 4096 Oct  1 18:47 ./
drwxr-xr-x 4 ubuntu ubuntu 4096 Oct  1 18:46 ../
---S--S--- 1 ubuntu ubuntu  398 Oct  1 18:45 authorized_keys
ubuntu@myserver:~$ chmod u+r .ssh/authorized_keys 
ubuntu@myserver:~$

相关内容