我想使用我的亚马逊ec2实例,但面临以下错误:

Permission denied (publickey).

我已经创建了密钥对并下载了.pem文件。

考虑到:

chmod  600 pem file.

然后,这条命令

ssh -i /home/kashif/serverkey.pem  ubuntu@ec2-54-227-242-179.compute-1.amazonaws.com

但是有这样的错误:

Permission denied (publickey)

另外,我如何连接filezilla上传/下载文件?


当前回答

我在Windows中使用WinSCP。它在文件资源管理器和PuTTY SSH Shell上都能很好地访问我的Amazon EC2-VPC Linux。chmod pem文件没有任何作用,因为它使用myfile。PuTTYgen将pem文件转换为ppk。

其他回答

这个问题可以通过下面的命令登录Ubuntu系统来解决:

ssh -i ec2key.pem ubuntu@ec2-public-IP

上面所有排名靠前的答案都是准确的,应该适用于大多数情况。如果它们不像我的情况一样,我只是去掉了~/。ssh/known_hosts文件在我试图ssh的机器上,这为我解决了问题。后来我和他联系上了。

当连接我的ubuntu实例时,我忘记添加用户名(ubuntu)。所以我试着这样做:

ssh -i /path/my-key-pair.pem my-ec2-instance.amazonaws.com

正确的方法是

ssh -i /path/my-key-pair.pem ubuntu@my-ec2-instance.amazonaws.com

我在Windows中使用WinSCP。它在文件资源管理器和PuTTY SSH Shell上都能很好地访问我的Amazon EC2-VPC Linux。chmod pem文件没有任何作用,因为它使用myfile。PuTTYgen将pem文件转换为ppk。

我的私钥被设置为权限400,导致权限被拒绝,将其设置为“644”帮助了我。

key_load_private_type: Permission denied是我得到的特定错误

解决方案: Sudo chmod 644 <key.pem> .pem

注意:设置为644是必须的,它不适用400