首页主机资讯CentOS SFTP如何排查网络问题

CentOS SFTP如何排查网络问题

时间2025-12-19 23:13:03发布访客分类主机资讯浏览773
导读:CentOS SFTP网络问题排查清单 一 快速分层定位 链路层与端口可达:先确认客户端到服务器的网络是否通,再确认 SSH 端口(默认 22/TCP) 是否开放。 命令示例: ping your_server_ip telnet y...

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
  • 服务配置与日志:核对 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
  • 认证与用户环境

    • 日志定位: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
  • 云服务器安全组

    • 在控制台放行入站 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 观察协商失败点,必要时在服务器/客户端同步启用兼容算法

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS SFTP如何排查网络问题
本文地址: https://pptw.com/jishu/776777.html
CentOS SFTP如何优化服务器性能 centos nginx重定向规则怎么写

游客 回复需填写必要信息