我想使用我的亚马逊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上传/下载文件?


当前回答

当连接我的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

其他回答

我把sudo放在前面就解决了问题

sudo ssh -i mykey.pem myec2.amazonaws.com

但正确的解决方案是先改变所有权,然后像Janus Troelsen下面说的那样以普通用户的身份连接。在我的情况下,它将是:

chown wellington:wellington key.pem

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

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

这种情况在我身上发生过很多次。我使用的是Amazon Linux AMI 2013.09.2和Ubuntu Server 12.04.3 LTS,它们都在免费层。

每次我启动一个实例,我都有拒绝显示的权限。我还没有验证这一点,但我的理论是,在我尝试ssh进入它之前,服务器还没有完全设置好。在尝试了几次被拒绝后,我等了几分钟,然后我就可以连接了。如果你遇到这个问题,我建议你等五分钟再试一次。

我也犯过类似的错误

debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: xxxx.pem
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

我的问题是,由于第3步的run-on- startup脚本上的错误,实例没有正确启动:在高级详细信息下配置实例详细信息:

我心里想的是:

# include
 https://xxxx/bootstrap.sh


实际输入的内容会破坏实例设置

# include

https://xxxx/bootstrap.sh

因此没有创建实例端的公钥

它是区分大小写的。

错误:SSH EC2-user@XXX.XX.XX.XX -i MyEC2KeyPair.pem

正确方法:SSH ec2-user@XXX.XX.XX.XX -i MyEC2KeyPair.pem