WinSCP PuTTY 设置

/ 6人浏览 / 0人评论

PuTTY + WinSCP 配置备忘

> 记录于 2026-06-24,涉及 WinSCP 调用 PuTTY 时的两个常见问题。


问题一:PuTTY 打开时无法自动进入 WinSCP 当前目录

现象

在 WinSCP 中点击“在 PuTTY 中打开”按钮后,PuTTY 登录成功,但默认停留在用户主目录(如 /home/username),而不是 WinSCP 当前浏览的目录。

解决方法

修改 WinSCP 调用 PuTTY 的命令,通过 -m 参数自动发送 cd 指令。

操作步骤

  1. 在 WinSCP 中,打开 选项偏好设置
  2. 转到 集成应用程序
  3. PuTTY/终端客户端路径 输入框中,将默认路径替换为以下命令:

    %PROGRAMFILES%PuTTYputty.exe -t -m "%TEMP%putty.txt" !cmd.exe /c echo cd "!/" ; /bin/bash -login > "%TEMP%\putty.txt"

命令说明

占位符/参数含义
!/WinSCP 当前的远程目录路径
-t强制分配伪终端,保证命令发送后仍可交互
-m指定包含要执行命令的临时文件
; /bin/bash -login执行完 cd 后启动一个登录 Shell

> 注意:如果你的远程 Shell 不是 bash(比如 zsh 或 fish),请将 /bin/bash 替换为对应的 Shell 路径。


问题二:PuTTY 的字体/颜色等设置修改后不生效

现象

在 PuTTY 中修改了字体、窗口大小、颜色等个性化设置,但通过 WinSCP 调用打开时,仍然是 PuTTY 的默认外观,修改没有生效。

原因

WinSCP 默认会创建一个名为 “WinSCP temporary session” 的临时 PuTTY 会话,它只传递 IP、端口等基础信息,而忽略 PuTTY 中保存的个性化设置。

解决方法

将个性化配置保存到 PuTTY 的 “默认设置”(Default Settings) 中。WinSCP 创建临时会话时,会优先读取该配置。

操作步骤

  1. 打开 putty.exe
  2. 在左侧分类列表中,点击最顶部的 “会话”(Session)。
  3. 在右侧的 “保存的会话”(Saved Sessions)列表中,单击选中 Default Settings(默认设置)。
  4. 点击右侧的 “保存”(Save)按钮。

> 特别注意:保存前,请确保顶部 “主机名称”(Host Name)输入框为空白。PuTTY 不允许将具体主机名保存到“默认设置”中,如果填了内容,保存会静默失败。


附:PuTTY UI 逻辑说明

问题说明
“保存”按钮在哪里?必须切换到左侧分类最顶部的 “会话” 页面才能看到“保存/载入/删除”按钮
为什么“默认设置”不能保存主机名?这是 PuTTY 的设计限制,“默认设置”只保存外观、终端、连接等偏好,不保存具体目标地址
为什么修改后没反应?检查是否在“会话”页面选中了“默认设置”并点击了“保存”,而不是只调整了设置就关闭窗口

测试验证

完成上述配置后,可以通过以下方式验证:

  1. 在 WinSCP 中进入一个深层目录(如 /var/log/nginx)。
  2. 点击工具栏的 “在 PuTTY 中打开” 按钮(或按 Ctrl+P)。
  3. 检查:

    • ✅ PuTTY 登录后是否自动进入了刚才的目录(问题一验证)
    • ✅ PuTTY 的字体、颜色、窗口大小是否是你设置的样子(问题二验证)

版本信息

  • WinSCP 版本:5.x(通用)
  • PuTTY 版本:0.78-cn1(中文版)
  • 操作系统:Windows

如果以后重装系统或升级软件后配置丢失,按本文档重新操作即可。

操作界面示意图

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我