本文主要是介绍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).
环境说明
亚马逊云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,这样是不是就很简单了
这篇关于ssh连接亚马逊云报错:Permanently added 'IP' (ECDSA) to the list of known hosts Permission denied的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!