收起左侧

系统更新至0.9.35后sftp备份显示用户名密码错误

1
回复
101
查看
[ 复制链接 ]

1

主题

1

回帖

0

牛值

江湖小虾

2025-11-8 21:07:41 显示全部楼层 阅读模式

设备环境:物理机 局域网 0.9.35

BUG现象:备份失败通知显示sftp用户名密码错误

出现频率:必现

日志文件:日志未显示相关问题

详细信息:经过AI辅助诊断,局域网路由器及目标设备的设置都没有问题。问题出现在iNAS 的操作系统存在一个持久的、损坏的内核级路由。这个 "卡住" 的路由在暗中阻止了所有发往 192.168.0.8 的流量。NetworkManager 在每次启动或网络重启时都会重新加载这个损坏的配置。以下为详细测试过程及结论:

故障排除报告:iNAS SSH "No route to host"

初始问题

从 iNAS (192.168.0.55) SSH 到树莓派 (192.168.0.8) 失败,并显示 ssh: ... No route to host 错误。

诊断步骤

  1. 初始 Ping:sudo ping -c 4 192.168.0.8 失败,显示 Destination Host Unreachable,表明可能存在本地网络问题。
  2. 隔离网络: 拔掉 iNAS 的网线后,将问题定位到 Wi-Fi 接口 (wlp2s0)。
  3. 排除路由器问题: 确认路由器上的 "AP 隔离" (AP Isolation) 功能已禁用。
  4. 排除目标设备问题: 确认其他 Wi-Fi 设备可以连接到树莓派。
  5. 排除 iNAS 防火墙问题:iptables -L -nufw status 命令确认 iNAS 上没有活动的防火墙。
  6. 排除 iNAS 路由问题:ip routeip rule list 命令显示路由表和路由策略均正确。
  7. 识别核心矛盾:ip route get 192.168.0.8 命令显示内核知道正确的路由 (dev wlp2s0 src 192.168.0.55 ...),但却对应用程序"撒谎"了。
  8. 确认持久性:sudo reboot 重启未能解决问题,证明损坏状态是持久性的,并在启动时重新加载。

最终结论

iNAS 的操作系统存在一个持久的、损坏的内核级路由。这个 "卡住" 的路由在暗中阻止了所有发往 192.168.0.8 的流量。NetworkManager 在每次启动或网络重启时都会重新加载这个损坏的配置。

最终解决方案

1. 手动修复命令

一个三步命令,用于清除错误路由并恢复正确路由。由于第一步会导致用户断开连接,因此该命令被链接在一起以便在远程终端上运行。

sudo ip route del 192.168.0.0/24; sudo ping -c 1 192.168.0.8; sudo ip route add 192.168.0.0/24 dev wlp2s0 proto kernel scope link src 192.168.0.55 metric 600

2. 永久自动修复

创建了一个调度程序脚本 (dispatcher script),以便在 Wi-Fi 每次连接时自动运行这个三步修复命令。

文件:/etc/NetworkManager/dispatcher.d/99-fix-stuck-route.sh

权限:sudo chmod +x /etc/NetworkManager/dispatcher.d/99-fix-stuck-route.sh

脚本内容:

#!/bin/bash

# $1 是接口 (interface), $2 是动作 (action)
if [ "$1" = "wlp2s0" ] && [ "$2" = "up" ]; then

    # 等待 5 秒钟让一切稳定下来
    sleep 5

    # 运行三步刷新命令,使用完整路径
    /usr/bin/ip route del 192.168.0.0/24
    ping -c 1 192.168.0.8
    /usr/bin/ip route add 192.168.0.0/24 dev wlp2s0 proto kernel scope link src 192.168.0.55 metric 600

fi
收藏
送赞
分享

1

主题

1

回帖

0

牛值

江湖小虾

2025-11-18 01:25:41 楼主 显示全部楼层
更新至0.9.37后又没有这个问题了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则