这一篇,我不讲新功能,也不推新场景,而是做一件更务实的事:把 FinalShell 日常使用中最常见、最让人头疼的问题,按类别整理成一份“故障排查完全手册”。 遇到问题不用到处搜,直接按图索骥找答案。


一、连接类问题(最常见,也是最容易解决的)

Q1:连接时提示“Connection refused”或“连接被拒绝”

原因:服务器没有监听 SSH 端口,或者防火墙拦截了连接请求。

排查思路(按顺序操作)

  1. 检查服务器是否开机:去云服务商控制台看看实例状态是不是“运行中”。

  2. 检查 SSH 服务是否启动:如果你有服务器控制台的 VNC 或管理终端,登录进去执行 systemctl status sshd。如果服务没跑,执行 systemctl start sshd 启动它。

  3. 检查 SSH 端口是否正确:如果你改过默认的 22 端口,但 FinalShell 里填的还是 22,自然会连不上。在服务器上执行 grep "^Port" /etc/ssh/sshd_config 查看实际监听的端口。

  4. 检查防火墙/安全组规则:去云服务商的安全组配置页面,确认入方向规则里允许了你填的端口(比如 22)的访问。

Q2:连接时提示“Authentication failed”或“认证失败”

原因:用户名或密码填错了,或者密钥认证方式配置不正确。

排查思路

  1. 检查用户名root 是默认的超级管理员账号,但有些云服务器默认禁用 root 远程登录,需要用 ubuntucentos 等自定义用户名。

  2. 检查密码:密码是否包含特殊字符(如 $#@)?建议用记事本把密码打一遍,确认没有输错。

  3. 检查密钥认证:如果用公钥方式登录失败:

    • 确认 authorized_keys 中是否包含你的公钥。

    • 确认私钥是否被正确导入 FinalShell。

    • 确认服务器的 ~/.ssh/ 目录权限是否为 700authorized_keys 文件权限是否为 600

  4. 检查是否开启密码登录:有些安全加固过的服务器会关闭密码登录,只允许密钥认证。检查服务器 /etc/ssh/sshd_config 中 PasswordAuthentication 是否为 yes

Q3:连接后自动断开,提示“Connection closed by remote host”

原因:服务器设置了空闲超时自动断线,或者客户端网络不稳定。

解决方案

  • 在 FinalShell 的连接设置 → 高级中,开启 “发送保持活动信号”,间隔建议设 30-60 秒。相当于定时向服务器发一个“我在线”的心跳包,防止会话因超时被中断。

  • 检查本地网络是否稳定,WiFi 信号差或代理软件干扰都可能导致连接中断。


二、文件传输类问题

Q4:上传/下载速度很慢,甚至卡住不动

原因:网络延迟高、小文件数量太多、或者传输缓冲区设置不合理。

解决方案

  1. 少量大文件 vs 大量小文件

    • 单个大文件(比如 1GB 的压缩包)慢,通常是网络带宽瓶颈,只能换网络或换时间再传。

    • 大量小文件(比如几百个 10KB 的图片)慢,是 SFTP 协议本身的特性决定的——每个小文件都要建立一次传输开销。建议先在本地打成压缩包再上传,或者使用 FinalShell 的“打包传输”功能。

  2. 调整传输参数:进入 设置 → 传输,将并行传输数设为 3缓冲区大小设为 32768 或 65536,能略微提升传输效率。

  3. 续传功能:如果传输中断,在文件管理器里右键点击未完成的文件,选择“续传”,不需要从头开始。

Q5:文件传输完成后,文件大小或内容不一致

原因:传输过程中出现数据损坏,或者目标路径有同名文件被覆盖。

解决方案

  • 校验文件:在传输前计算源文件的 MD5,传输后在服务器上执行 md5sum 文件名 对比,确保一致。

  • 注意覆盖提示:FinalShell 在上传同名文件时会弹出提示,选择“覆盖”或“跳过”时确认一下,避免误操作。

Q6:中文文件名在文件管理器里显示为乱码

原因:服务器和客户端的字符编码不一致。

解决方案:在连接设置 → 高级 → 编码中,尝试将编码从 UTF-8 切换为 GBK 或 GB2312(中文 Windows 常见编码)。如果服务器端是 Linux,绝大多数情况下 UTF-8 是正确选项,乱码更可能是本地系统显示问题。


三、界面与显示类问题

Q7:终端里的中文字符显示为乱码

原因:终端字符编码设置不正确。

解决方案

  1. 检查终端编码:在已连接的会话中,点击顶部工具栏的“编码”下拉菜单,切换到 UTF-8 或 GBK,看看哪个能正常显示。

  2. 检查服务器语言环境:在服务器终端执行 echo $LANG,如果返回 en_US.UTF-8 或 zh_CN.UTF-8 说明正常。如果不是,可以临时执行 export LANG=en_US.UTF-8

Q8:左侧监控面板不显示数据

原因:监控功能被关闭,或者连接时没有勾选“启用监控”。

解决方案

  • 右键点击已连接的服务器标签页,确保 “监控” 选项被勾选。

  • 如果依然不显示,在连接设置中确认“启用监控”复选框处于选中状态,然后重新连接。


四、软件运行类问题

Q9:FinalShell 启动时提示“找不到 Java 环境”

原因:FinalShell 本身内置了 Java 运行环境,通常不需要额外安装。但某些精简版系统或绿色版安装包可能会缺少依赖。

解决方案

  • 去官网重新下载完整版安装包,覆盖安装。

  • 如果仍然提示,手动安装 Java 运行时环境(JRE)或 OpenJDK 最新版本。

Q10:软件卡顿、内存占用过高

原因:同时打开的会话数量过多,监控刷新频率太高,或者本地电脑配置偏低。

解决方案(已经在前面性能调优篇详细说过,这里拎出最有效的三条):

  1. 适当拉长监控刷新间隔设置 → 会话设置 → 监控,把刷新间隔从 1000 毫秒改为 2000-3000

  2. 关闭非必需会话:不用的标签页及时关掉,减少内存占用。

  3. 检查是否有无限循环的输出:如果某条命令陷入了死循环或持续输出大量日志,会让终端缓冲区暴涨,导致卡顿。找到并终止异常进程。

Q11:Mac 版闪退、启动后立刻崩溃

原因:M 系列芯片 Mac 上 Java 图形渲染与 macOS 内存管理之间的兼容性问题。

解决方案:编辑 JVM 参数文件 /Applications/FinalShell.app/Contents/bin/finalshell.vmoptions,将 -Dsun.java2d.opengl=true 改为 false,保存后重启。


五、其他杂项问题

Q12:为什么我保存的“连接记录”突然全没了?

原因:配置文件被误删除或覆盖。FinalShell 的连接配置以 .db 或 .json 格式存储在用户目录下。

解决方案

  • 检查杀毒软件是否隔离或删除了配置文件。

  • 如果之前备份过,可以将备份文件恢复到相应目录。

  • 建议:定期导出连接配置(设置 → 导入/导出连接)做备份,换电脑或重装系统时可以一键恢复。

Q13:从官网下载太慢,有镜像站吗?

原因:官网服务器在某些地区或网络环境下访问速度不理想。

解决方案

  • 尝试使用迅雷或 IDM 等多线程下载工具。

  • FinalShell 官方在腾讯云等平台有托管镜像,可以留意官网公告或社区分享的备用下载地址。

  • 也可以关注 FinalShell 的 QQ 群或官方社区,群文件里通常有最新版本的安装包。


写在最后

这 13 个问题,覆盖了 FinalShell 日常使用中 90% 以上的“翻车”场景。建议把这篇文章收藏起来,或者截图保存关键排查步骤——等哪天你连不上服务器、传不动文件、界面突然乱码的时候,按着目录翻一遍,大概率能找到解法。

运维工作的本质,不是在“不出问题”的时候炫技,而是在“出了问题”的时候能快速定位、冷静解决。希望这份排查手册,能让你的故障排查时间从“半小时”缩短到“三分钟”。

FinalShell声明:FinalShell站所有内容,资源,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。