CentOS SSH 端口修改与防火墙配置记录
记录一次在 CentOS 上修改默认 SSH 端口、放行 firewalld 并处理 SELinux 的过程。
支持通配符SSL证书、多域名证书、IP证书。适配ACME接口, 支持Zerossl、Let's Encrypt和Google等渠道。登录已有账号
2026-08-24 12:00:49 SSH Linux运维 故障排查
日常用SSH连远程服务器,偶尔会跳出host not found in known_hosts的报错。算不上复杂故障,但刚接触的话容易卡壳,说白了就是本地没存对应服务器的公钥记录,或是记录和当前服务器对不上。这里把几种常见情况捋一下,碰到了可以对照着查。
第一次连新服务器出这个报错,完全是正常现象。本地known_hosts文件里本来就没这台机器的指纹,SSH为了防范中间人攻击,默认会做主机密钥校验。弹出确认提示的时候,核对好指纹没问题,选择接受就行,公钥会自动存进文件,下次再连就不会再弹。
如果是之前连得好好的,突然报这个错,大概率是服务器端的公钥变了。比如重装了操作系统,或是运维重新生成过SSH主机密钥,本地存的旧记录就失效了。确认是正常变更的话,不用手动翻文件删行,直接执行ssh-keygen -R 跟上主机名或者IP,就能把对应记录清理掉。
重新连接一次,接受新的指纹就恢复正常。这里容易踩坑的是,不少人图省事直接把StrictHostKeyChecking设成no跳过校验,生产环境不建议这么操作,等于直接关掉了中间人攻击的防护。
还有种很低级但确实会碰到的情况,known_hosts文件被误删了。
整理目录手快删错,或是改文件权限的时候搞出问题,所有历史公钥记录都会丢失。这种没什么捷径,逐个重新连一遍常用的服务器,记录会自动生成回去。
也有可能是SSH配置出了问题。比如在~/.ssh/config或是全局ssh_config里改动过UserKnownHostsFile的路径,指向了一个不存在的文件,也会触发这类报错。
排查的时候可以顺带看一眼StrictHostKeyChecking的配置,默认保持yes就好,有特殊场景再按需调整。
还有一种容易被忽略的情况,DNS解析或是网络变动。主机名对应的IP换了,你之前存的是旧IP的记录,或是解析异常导致主机识别出错,都可能引出这类提示。先ping一下主机名,确认解析出来的IP是否正确,排除网络层面的问题再查本地配置,能少走点弯路。
日常做运维,这类主机密钥、证书的信任校验问题其实挺常见的。不光是SSH的主机密钥,平时给服务配SSL证书也会碰到类似的信任链、证书续期更新的问题。
如果经常要处理SSL证书申请和部署,可以试试lcjmSSL,免费就能申请多域名、泛域名还有IP证书,底层基于Let's Encrypt、Google Trust Services、ZeroSSL这些支持ACME的可信CA,能自动完成申请、验证和部署,还提供简洁的API接口,不用每次手动走流程,能省不少重复劳动。
这类问题排查起来不难,顺着场景逐个核对基本都能解决,处理的时候多留个心眼确认服务器身份,别为了方便随便关闭安全校验就行。
记录一次在 CentOS 上修改默认 SSH 端口、放行 firewalld 并处理 SELinux 的过程。
记录一次在 OpenWrt 上用 opkg 安装 FFmpeg 反复报错的排查思路,从源更新、包搜索、依赖强制安装到手动编译都走了一遍。
记录 R 语言里用 BiocManager 装 Bioconductor 包时遇到的几个高频报错,包括镜像源覆盖、RDS 缓存损坏、依赖缺失、网络和字体乱码,以及一套能稳定跑通的安装配置。
本文聚焦Docker服务启动失败时常遇的'Start request repeated too quickly'错误。深入剖析其常见诱因:配置文件错误、依赖服务故障或资源冲突。提供一套系统化的排查流程,从日志分析到配置验证,再到依赖和资源检查,并给出调整配置文件、systemd限制及网络策略的具体修复方案,确保容器环境稳定。
本文深入解析ChatGPT访问中遇到的SSL证书“Bad Certificate”错误,从TLS 1.3握手诊断到多方面原因剖析,并提供详细的修复步骤与lcjmSSL证书申请推荐。