尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

ssh登录报错Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password

ssh登录报错Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password
📅 发布时间:2026/6/20 6:08:40

ssh 密码登录报错Permission denied(publickey,gssapi-keyex,gssapi-with-mic,password)

当我启动一个虚拟机,想要像往常一样使用密码登录的时候,

sshpass -p 123456 ssh -o StrictHostKeyChecking=no root@127.0.0.1 -p 10087

注:这里俩个 '-p' ,第一个是密码,第二个是端口号

1763536346530

首先我检查端口是否正确监听

netstat -tlnp | grep 10087
ss -tlnp | grep 10087  

测试联通性

telnet 127.0.0.1 10087

查看sshd是否启用:若为active 则为启动

systemctl status sshd

检查防火墙是否开启

systemctl status firewalld

均检查没问题,于是怀疑是ssh配置问题,并且uncomment俩行设置

vi /etc/ssh/sshd_configPasswordAuthentication yes  
PermitRootLogin yes               # 如果是PermitRootLogin prohibit-password,表示允许root登录,禁止使用密码登录,要comment这一行

然后重启sshd : systemctl restart sshd

但是问题没有被解决!

于是回头仔细看了一下报错:

Offending ED25519 key in /root/.ssh/known_hosts:2

Password authentication is disabled to avoid man-in-the-middle attacks.

在host上 /root/.ssh/known_hosts里有冲突的密钥,因为主机密钥不可信任,所以password authentication is disabled

于是 我删除了主机的knwon_hosts:

rm -rf /root/.ssh/known_hosts

然后启动虚拟机, 再ssh登录,这次可以了!

但是好久不长,又报错了

又去查看了虚拟机里/etc/sshd/ssh_config的结果

发现之前的设置小时了! 于是手动添加两行到config文件里

echo "PasswordAuthentication yes" >> /etc/ssh/ssh_config
echo "PermitRootLogin yes"  >> /etc/ssh/sshd_config

然后restart ssh服务

systemctl restart sshd

这次ssh 又可以登上了

总结一下吧: 遇到ssh 登不上,或者报错等信息,先检查端口是否监听,这个最重要!

netstat -tlnp | grep :22    #in vm
netstat -tlnp | grep 10087 # in host 

然后vm里检查ssh 配置

grep -E "PasswordAuthentication|PermitRootLogin|PubkeyAuthentication" /etc/ssh/sshd_config

如果都不行,再去宿主机检查,谨慎删除,如果有必要,建议只删除端口对应的那行:

cat /root/.ssh/known_hosts
[127.0.0.1]:10087 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjistGUFk/qqiOkeqjZ4pXpgWDLF1vTFoJL8aW8v6T+

最后插个题外话,在解决问题的时候,有解决方案提到检查 ~/.ssh/authorized_keys 里的内容和 ~/.ssh/known_hosts 的内容,那他们有什么区别呢

先看了一个大佬的帖子,链接放在这里了哈: 使用RSA 密钥对进行 SSH 登录验证https://www.cnblogs.com/qiangxia/p/4211517.html)
讲的是如何生成密钥,并上传,附了加密原理

那么回到我们的主题,ssh的authoritized_keys 和 known_hosts到底有什么区别,这里我找到了大佬的回答: what-is-the-difference-between-authorized-keys-and-known-hosts-file-for-ssh

简述一下答案,

就是~/.ssh/known_hosts文件是存储着已经连接过的服务器,如果写在文件里面,客户端就可以检查服务器是已知服务器,而不是冒充的恶意服务器;
当然,首次连接服务器的时候,客人端会获取并记录服务器的公钥,在每次连接的时候,客户端都会比对已知的的公钥和服务器的公钥,来验证服务器的真实性.
如果您拥有已经连接的服务器的公钥,则可以在~/.ssh/known_hosts手动添加

另外,~/.ssh/known_hosts包含ssh支持的任意类型的公钥: DSA, RSA, ECDSA

那么客户端这边登录server的时候要有验证,是不是在server上也应该有文件对用户进行身份验证呢,
所以~/.ssh/authorized_keys就存着相对应的验证方式.
除了我们正常的密码登录,如果在server端的~/.ssh/authorized_keys文件下存着我们主机的公钥,是不是就可以直接登录了呢?

有时候服务器为了防止被黑,只允许被添加进~/.ssh/authorized_keys开发人员登录,所以如果客户证明他知道私钥,公钥在账户的授权列表中(~/.ssh/authorized_keys服务器端),则登录尝试被接受.

用户的私钥用于生成一个加密的身份验证请求,该请求将被发送到服务器,服务器会尝试使用authorized_keys文件中的公钥对其进行解密。

小结一下:known_hosts 存在客户端, authroized_key放在服务端

那我的情况是

服务器更换了密钥/系统重装
需要先删除旧的密钥记录,然后再更新~/.ssh/known_hosts 文件,添加新的公钥

ssh-keygen -R [hostname_or_IP]                               # delete old key 
ssh-keyscan -H [hostname_or_IP] >> ~/.ssh/known_hosts        #update new key of server 

或者也可以直接像我一样,移除~/.ssh/known_hosts 但是不推荐哦~

附:公钥加密技术

相关新闻

  • 人工智能之编程进阶 Python高级:第六章 文件类模块
  • 国产数据库替代MongoDB的技术实践过程:金仓多模数据库在电子证照框架中的深度应用
  • 用USB BLASTER II 下载sof文件没有问题,debug波形也没有问题。但是下载jic问题异常?

最新新闻

  • Super Productivity:Docker容器化部署完全指南,打造个人生产力中心
  • HarmonyOS6踩坑记录之卡片开发 @Prop 和 @Link 搞混了?3 个坑帮你彻底搞懂父子组件传值
  • GPT-Image-2渲染产品图全教程:提示词结构、多轮迭代与实测数据
  • doom-ascii控制指南:从基础移动到高级战斗的快捷键全攻略
  • 2026年市场靠谱的工艺品设计趋势平台口碑排行情况
  • DBeaver连接PostgreSQL:界面异常排查与修复实战指南

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号