首页主机资讯Ubuntu日志中的连接失败如何解决

Ubuntu日志中的连接失败如何解决

时间2025-11-28 11:15:04发布访客分类主机资讯浏览1352
导读:Ubuntu日志中的连接失败排查与修复指南 一、快速定位思路 明确连接类型:是 SSH、数据库、应用对外服务,还是 系统网络 的连接失败。 先查服务端日志,再复现实测,最后改配置并验证。 常用日志路径与命令: 系统日志:/var/log...

Ubuntu日志中的连接失败排查与修复指南

一、快速定位思路

  • 明确连接类型:是 SSH数据库应用对外服务,还是 系统网络 的连接失败。
  • 先查服务端日志,再复现实测,最后改配置并验证。
  • 常用日志路径与命令:
    • 系统日志:/var/log/syslog/var/log/kern.logdmesg
    • SSH 认证日志:/var/log/auth.log
    • 实时查看:例如 sudo tail -f /var/log/syslog
    • 监听端口与连通性:ss -tulpen | grep :端口netstat -tulpen | grep :端口nc -zv 主机 端口telnet 主机 端口
    • 网络与路由:ip aip routepingtraceroute/mtrnslookup/dig
    • 防火墙:sudo ufw statussudo iptables -L -n
    • 云环境:检查云厂商的 安全组/防火墙 入站规则是否放行对应端口(如 22/3306/80/443)。

二、SSH 连接失败

  • 现象与日志要点
    • 提示 Connection refused:常见于 sshd 未运行 或端口不对。
    • 提示 Connection timed out:常见于 防火墙/安全组 丢弃包或 监听地址错误
    • 提示 Permission denied (publickey/password):常见于 密钥/密码错误sshd_config 限制或 权限不当
    • 服务器日志:查看 /var/log/auth.log 中对应时间点的失败原因。
  • 排查与修复
    • 服务状态:sudo systemctl status ssh(或 sshd),未运行则 sudo systemctl start ssh & & sudo systemctl enable ssh
    • 端口监听:ss -tulpen | grep :22,确认监听在 0.0.0.0:22 而非仅 127.0.0.1
    • 配置核查:/etc/ssh/sshd_config
      • Port 22(若改端口需同步防火墙/安全组)
      • ListenAddress 0.0.0.0
      • PermitRootLogin(按需设为 yes/without-password)
      • PasswordAuthentication(使用密码时设为 yes)
      • PubkeyAuthentication yes
      • 修改后重启:sudo systemctl restart ssh
    • 防火墙与安全组:
      • UFW:sudo ufw allow 22/tcpsudo ufw allow ssh
      • 云实例:在控制台放行对应 TCP 端口 的入站规则
    • 客户端侧:
      • 详细输出:ssh -vvv user@host -p port
      • 指定密钥:ssh -i ~/.ssh/your_key user@host
      • 修复权限:chmod 600 ~/.ssh/id_rsachmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
      • 指纹变更:ssh-keygen -R hostname
    • 其他常见原因:磁盘满(登录/写日志失败)、系统休眠导致断网(见下一节)。

三、数据库与应用连接失败

  • 数据库(以 MySQL 为例)
    • 服务状态:sudo systemctl status mysql,未运行则启动。
    • 配置核对:应用侧 host/port/user/password/db 是否正确,端口是否为 3306
    • 防火墙:如用 UFW,sudo ufw allow 3306/tcp;云上需放行安全组。
    • 权限与来源主机:在数据库内执行
      • 查看用户:SELECT User, Host FROM mysql.user;
      • 授权示例:GRANT ALL PRIVILEGES ON your_db. TO ‘user’@‘client_ip’ IDENTIFIED BY ‘pwd’; FLUSH PRIVILEGES; *
    • 连通性测试:从应用所在主机 ping 数据库主机、必要时 telnet db_host 3306
    • 日志与重启:查看数据库错误日志,变更后重启数据库与应用服务。
  • Node.js 等应用
    • 先看应用日志(如 error.log),再用系统日志定位网络层问题:tail -f /var/log/syslog/var/log/kern.log
    • 网络诊断:ping/nslookup/digtraceroute/mtrss/netstat、必要时 tcpdump 抓包。
    • 防火墙与云安全组:确认出站/入站策略允许应用与依赖服务通信(如 80/443/3306 等)。

四、系统网络与日志常见根因

  • 磁盘空间耗尽
    • 现象:/var/log 或根分区 100%,导致 syslog 无法写入、会话建立或日志打印失败。
    • 排查:df -hdu -sh /var/log
    • 处理:清理旧日志(如 /var/log/syslog/var/log/kern.log)、压缩归档、配置 logrotate;必要时迁移日志目录或扩容磁盘。
  • 系统休眠/挂起导致断网
    • 现象:一段时间无操作后 NetworkManager 将设备置为 unmanaged/sleep,远程连接断开。
    • 日志特征:/var/log/syslog 出现 “NetworkManager … sleep requested … state is now ASLEEP … device … disconnected (reason ‘sleeping’)”。
    • 处理:关闭自动休眠/挂起或配置为不管理相关接口;服务器场景建议禁用自动休眠,确保网络持续在线。
  • 网络服务异常或设备未管理
    • 现象:ip a 看不到有效 IP,或 nmcli d 显示 unmanaged
    • 处理:重启 NetworkManagersudo systemctl restart NetworkManager;必要时检查 /etc/NetworkManager/NetworkManager.confmanaged 配置;使用 sudo dhclient 获取地址;查看 /var/log/syslogdmesg 获取驱动/链路错误线索。

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


若转载请注明出处: Ubuntu日志中的连接失败如何解决
本文地址: https://pptw.com/jishu/758840.html
Ubuntu日志中的访问记录怎么查看 Ubuntu日志中的错误代码代表什么

游客 回复需填写必要信息