我试图从Digital Ocean上的远程服务器上的用户ssh到AWS ec2实例。
我将私钥上传到Digital Ocean上的用户的.ssh文件夹中,在.ssh
目录中创建了一个配置文件,指向包含私钥的身份文件(.pem
文件)然后通过ssh-keygen -y
生成一个公钥,并将其添加到' .ssh / authorized_keys' ec2实例上的用户文件。
我的本地机器以这种方式连接到ec2实例而没有问题&我假设我可以以类似的方式在远程Digital Ocean实例上设置用户,但是当我尝试连接时出现Permission denied (publickey).
错误。
详细错误输出:
debug1: Found key in /home/temp_user/.ssh/known_hosts:2
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: .ssh/digital-ocean.pem
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
temp_user
是Digital Ocean服务器上的新用户。 digital-ocean.pem
是在AWS控制台中创建的私钥,从中为aws实例上的新用户生成公钥并将其存储在.ssh/authorized_keys
中。
为了测试,我暂时上传了我在本地使用的私钥和
ssh -i .ssh/local.pem <user>@<instance id>
有效。
我觉得它可能与aws实例上新创建的用户有关。
如何解决或解决此问题?
答案 0 :(得分:1)
.ssh
目录应具有 755 权限,并且由用户拥有。 authorized_keys
文件应具有 644 权限,并由用户拥有。