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 [email protected]
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.
[email protected]: Permission denied (publickey).

ssh连接亚马逊云报错:Permanently added 'IP' (ECDSA) to the list of known hosts Permission denied_第1张图片

环境说明

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

报错原因

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

总结

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

ssh -i xxx.pem [email protected]

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

ssh-add xxx.pem

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

ssh [email protected]

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

vim .bashrc

# 添加如下配置
alias sshec2='ssh [email protected]'

记得source一下:

source .bashrc

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

sshec2

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

你可能感兴趣的:(云服务)