Skip to content

WinSCP 文件传输操作手册 ​

目标: 在 Windows 本地与 Linux 服务器之间安全、便捷地传输文件。 场景: 部署静态网站、上传配置文件、备份服务器数据。


1. 安装与连接 ​

1.1 安装 ​

如果尚未安装,请访问 WinSCP 官网 下载并安装 "Portable executables" (便携版) 或 "Installation package" (安装版)。 推荐将其放在 OneDrive/apps/WinSCP (如果是便携版) 以便于同步。

1.2 建立连接 (Session) ​

  1. 打开 WinSCP,弹出 "Login" 窗口。
  2. File protocol: 选择 SFTP。
  3. Host name: 输入服务器 IP (例如 192.168.233.129)。
  4. Port number: 默认 22 (除非服务器修改了 SSH 端口)。
  5. User name: 输入用户名 (例如 hongjy)。
  6. Password: 输入用户密码。
    • 进阶: 点击 "Advanced" -> "SSH" -> "Authentication" -> "Private key file" 选择 .ppk 密钥文件 (如果你配置了 SSH 密钥)。
  7. 保存会话: 点击 "Save" 按钮,命名为 "Home Server" 或 "Core Server",勾选 "Save password" (可选,方便但不建议在公共电脑使用)。
  8. 登录: 点击 "Login"。

2. 核心操作 ​

2.1 界面概览 ​

  • 左侧面板: 本地电脑 (Local)。
  • 右侧面板: 远程服务器 (Remote)。
  • 操作方式: 类似资源管理器,支持拖拽、复制、粘贴。

2.2 上传文件 (Upload) ​

  1. 在左侧导航到本地项目目录 (例如 C:\Users\hongj\my-resource\site\home).
  2. 在右侧导航到服务器目标目录 (例如 /srv/site/home).
  3. 选中左侧的文件或文件夹,拖拽到右侧。
  4. 或者选中后按 F5 (Upload),点击 "OK"。

2.3 下载文件 (Download) ​

  1. 在右侧选中服务器上的文件 (如日志、备份)。
  2. 拖拽到左侧本地目录。
  3. 或者选中后按 F5 (Download)。

2.4 编辑远程文件 ​

  1. 右键点击远程文件 -> "Edit" -> "Edit" (或按 F4)。
  2. WinSCP 会下载临时文件并打开默认编辑器。
  3. 保存时,WinSCP 会自动上传覆盖远程文件。
    • 提示: 可以在 "Preferences" -> "Editors" 中配置 VS Code 为默认编辑器。

3. 高级功能:目录同步 (Synchronize) ​

当你本地构建了新的静态网站,需要把变动更新到服务器时,使用同步功能非常高效。

  1. 进入要同步的目录 (左侧本地,右侧远程)。
  2. 点击工具栏上的 Synchronize 按钮 (或按 Ctrl + U)。
  3. Direction / Target directory:
    • 选择 Local -> Remote (将本地变动推送到服务器)。
  4. Mode:
    • Synchronize files: 仅更新修改过的文件 (推荐)。
    • Mirror files: 镜像模式,会删除服务器上多余的文件 (慎用,除非你确定本地是唯一真理)。
  5. 点击 "Preview" 查看将要进行的操作,确认无误后点击 "OK"。

4. 常见问题 (Troubleshooting) ​

4.1 "Permission denied" (权限拒绝) ​

  • 现象: 上传失败,提示无权写入。
  • 原因: 登录用户 (hongjy) 对目标目录 (如 /srv/core) 没有写权限。
  • 解决:
    • 临时: 上传到用户主目录 (/home/hongjy/),然后用 SSH (Putty/Terminal) 执行 sudo mv 移动。
    • 根治: 在服务器上修改目录所有权: sudo chown -R hongjy:hongjy /srv/target_dir。

4.2 乱码问题 ​

  • 现象: 中文文件名显示为乱码。
  • 解决: 在连接设置中开启 "UTF-8 encoding for filenames" (通常默认为 Auto,强制开启即可)。

4.3 保持连接 (Keepalive) ​

  • 现象: 几分钟不操作就断开连接。
  • 解决: "Advanced" -> "Connection" -> "Keepalives" -> 勾选 "Executing dummy protocol commands",设定间隔 (如 30秒)。

方舟 · Ark