ssh连接亚马逊云报错:Permanently added 'IP' (ECDSA) to the list of known hosts Permission denied

报错详情

在终端下通过ssh连接亚马逊云服务器具体报错如下:

# wedo @ mjo in ~/.ssh [10:55:25] C:255
$ ssh -i manjaro.pem ec2-user@xx.xx.xx.xx
The authenticity of host 'xx.xx.xx.xx (xx.xx.xx.xx)' can't be established.
ECDSA key fingerprint is SHA256:BzknItgds/gHJLtjp6kZ+wnAmlb2Op9ss7G3fonn/5I.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '1xx.xx.xx.xx' (ECDSA) to the list of known hosts.
ec2-user@xx.xx.xx.xx: Permission denied (publickey).

ssh连接AWS报错

环境说明

亚马逊云EC2创建操作系统实例的时候都需要你先创建一个密钥,然后ssh通过加载这个密钥来远程连接云服务器的终端.

报错原因

原因很简单:用户名错了
把用户名改下就可以了
一般操作系统(Linux)的用户名为:ec2-user
使用这个用户名的操作系统一般为:AWS自己的Linux系统,RedHat操作系统
另外Ubuntu系统的用户名为:ubuntu
Centos系统的用户名为:centos

总结

可以把.pem认证文件放在${HOME}目录下的.ssh目录下
比较麻烦的连接方式为:

ssh -i xxx.pem ec2-user@xx.xx.xx.xx

xxx.pem就是EC2实例的认证文件。
命令好长啊,好难输入啊,有没有更好的方式呢?
可以把xxx.pem认证文件add到ssh里后面就不用每次都指定了:
xxx.pem文件预加载到ssh:

ssh-add xxx.pem

后面再连的时候只需要输入:

ssh ec2-user@xx.xx.xx.xx

还有有点长,有没有更好的方式呢?
把这个命令指定一个别名,后面连的时候只输入别名主可以了:
在.bashrc配置文件下添加上面的命令:

vim .bashrc

# 添加如下配置
alias sshec2='ssh ec2-user@xx.xx.xx.xx'

记得source一下:

source .bashrc

然后就可以输入下面的命令直接连了:

sshec2

OK,这样是不是就很简单了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值