ssh原理

SSH验证问题

今天重置阿里云服务器,用ssh连服务器,发现连不上,防火墙也打开了,猜测服务器没有开启ssh

服务器开启ssh步骤

  1. 要确保CentOS7安装了 openssh-server,在终端中输入 yum list installed | grep openssh-server

  2. 如果又没任何输出显示表示没有安装 openssh-server,通过输入 yum install openssh-server

  3. 找到了 /etc/ssh/ 目录下的sshd服务配置文件 sshd_config

  4. 将文件中,关于监听端口监听地址前的 # 号去除

    image-20220110155246589

  5. 允许远程登录

    image-20220110155503615

  6. 开启使用用户名密码来作为连接验证

    image-20220110155609916

  7. 开启 sshd 服务,输入 sudo service sshd start

  8. 检查 sshd 服务是否已经开启,输入ps -e | grep sshd

  9. 为了免去每次开启 CentOS 时,都要手动开启 sshd 服务,可以将 sshd 服务添加至自启动列表中,输入systemctl enable sshd.service

问题没有解决

依然显示下面的错误信息

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:2L07YcXwuh6amZNAPzR57bjlfrSvgbOEmfCj2jZ4kC4.
Please contact your system administrator.
Add correct host key in /Users/bytedance/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/bytedance/.ssh/known_hosts:14
Host key for 47.103.7.20 has changed and you have requested strict checking.
Host key verification failed.

最终解决方式

ssh-keygen -R "your server hostname or ip"

原因:因为系统有改变,导致加密的密钥改变,因此本地保存的密钥失效;

更具体的原因(参考:ssh权威指南)

总结:服务器会将自己的主机秘钥的一部分在第一次连接时交给客户端保存,用于以后验证服务端的身份,这个主机秘钥就保存在konwn_hosts中,这么做得目的是为了防止如果后续ssh连接时有中间人攻击的话,能够及时发现。

我重置服务器后,导致主机秘钥发生改变,导致客户端是服务器身份的验证失败,引发上面的原因

image-20220110165152967

image-20220110165216538

image-20220110165232905

image-20220110165248065

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值