最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
CentOS SFTP怎样排查网络问题
时间:2026-06-26 09:10:49 编辑:袖梨 来源:一聚教程网
CentOS SFTP网络问题排查清单

一 快速分层定位
- 链路层与端口可达:先确认客户端到服务器的网络是否通,再确认 SSH 端口(默认 22/TCP) 是否开放。
- 命令示例:
- ping your_server_ip
- telnet your_server_ip 22
- nc -vz your_server_ip 22
- 命令示例:
- 服务端进程与端口监听:确认 sshd 正在运行并监听正确端口。
- 命令示例:
- systemctl status sshd
- ss -tnlp | grep :22
- 命令示例:
- 防火墙与安全组:放行 22/TCP(或自定义端口),包括本机防火墙与云厂商安全组。
- 命令示例(firewalld):
- firewall-cmd --list-all
- firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload
- 或按端口:firewall-cmd --permanent --add-port=22/tcp && firewall-cmd --reload
- 命令示例(firewalld):
- 服务配置与日志:核对 SFTP 子系统配置并查看认证日志定位失败原因。
- 配置核对:grep ‘^Subsystem’ /etc/ssh/sshd_config
- 日志查看:tail -f /var/log/secure | grep sshd
二 常见症状与对应处理
连接超时或端口不通
- 可能原因:网络不通、服务器未监听 22/TCP、本机或云安全组/外部防火墙拦截。
- 处理:先 ping 与 telnet/nc 验证;确认 ss -tnlp | grep :22 有监听;放行防火墙与云安全组对应端口。
连接被拒绝(Connection refused)
- 可能原因:sshd 未运行、端口不对或被别的程序占用。
- 处理:systemctl start sshd;确认 Port 配置与监听端口一致;检查端口占用并释放或更换端口。
认证失败(Permission denied)
- 可能原因:用户名/密码或密钥错误、用户被限制登录、目录/权限不当、密钥未正确部署。
- 处理:核对凭据;检查 /etc/ssh/sshd_config 对该用户的限制;确保用户家目录与 .ssh 权限正确(如 700/600);公钥已加入 ~/.ssh/authorized_keys。
登录后很快断开或卡顿
- 可能原因:加密算法/密钥交换不匹配、服务器资源紧张、连接数限制、外部链路抖动。
- 处理:客户端用 ssh -vvv 看协商过程;必要时调整算法;检查系统资源(top);放宽 MaxStartups;排查网络质量。
三 关键配置与日志检查
SSH 服务与端口
- 确认运行状态与开机自启:systemctl status sshd;systemctl enable sshd
- 确认监听端口:ss -tnlp | grep :22(若修改了端口,需与客户端一致)
SFTP 子系统配置
- 编辑 /etc/ssh/sshd_config,确保包含:
- Subsystem sftp /usr/libexec/openssh/sftp-server
- 或使用内部 SFTP:Subsystem sftp internal-sftp
- 修改后重启:systemctl restart sshd
- 编辑 /etc/ssh/sshd_config,确保包含:
认证与用户环境
- 日志定位:tail -f /var/log/secure | grep sshd(关注 Accepted/Failed 与具体报错)
- 密钥登录:~/.ssh/authorized_keys 权限 600,~/.ssh 权限 700,属主正确
- 用户限制:检查 /etc/ssh/sshd_config 中 DenyUsers/AllowUsers/PasswordAuthentication 等
四 防火墙与安全组要点
firewalld
- 放行 SSH 服务或端口并重载:
- firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload
- 或:firewall-cmd --permanent --add-port=22/tcp && firewall-cmd --reload
- 验证:firewall-cmd --list-all
- 放行 SSH 服务或端口并重载:
云服务器安全组
- 在控制台放行入站 TCP 22(或自定义端口),来源按需要限制为你的办公网段或 0.0.0.0/0(测试环境)
备用防火墙(如仍使用 iptables)
- 查看与放行:iptables -L -n | grep 22;按需添加 ACCEPT 规则并保存
五 高级检查与优化
SELinux 与 AppArmor
- 查看状态:sestatus;apparmor_status
- 排障时可短暂 setenforce 0 验证是否为 SELinux 引起(确认后请按策略修正而非长期关闭)
连接数限制
- 查看:grep MaxStartups /etc/ssh/sshd_config
- 调整示例:MaxStartups 100:30:200(按实际并发调优),然后 systemctl restart sshd
资源与算法协商
- 资源:top/vmstat 检查 CPU/内存/IO 是否瓶颈
- 算法:客户端 ssh -vvv 观察协商失败点,必要时在服务器/客户端同步启用兼容算法
相关文章
- 看欧冠比赛用哪个app最好 流畅观看欧冠比赛app精选 06-26
- 看纪录片哪个app最全 火热的纪录片app有哪些 06-26
- 有哪些可以看韩漫的app 高人气的韩漫app合集 06-26
- 性价比高的长途代驾用哪个app平台 便宜的长途代驾app平台有哪些 06-26
- 值得推荐的简历生成app免费:好用的简历生成app精选 06-26
- 常用手机商店app推荐 值得推荐的手机商店app下载 06-26