返回博客
SSH Client5 min read

在 Mac 上怎么用 WinSCP?macOS 版有没有,用什么替代

在 Mac 上怎么用 WinSCP?macOS 版有没有,用什么替代

WinSCP 是从 Windows 转到 Mac 之后最容易被想念的工具之一。它一个窗口里就能连 SFTP、FTP、SCP、WebDAV 和 S3,能直接在服务器上改文件,还能把所有机器存成列表。

然后在 Mac 上打开下载页,你会发现没有 macOS 版本。WinSCP 是 Windows 程序,这一点一直没变。你需要的是一个能保留核心用法的 macOS 替代方案。

Mac 上有 WinSCP 吗?

没有。WinSCP 没有官方 macOS 版本,App Store 里也搜不到。用兼容层硬装 Windows 版也不是好办法,因为它的双栏文件面板、拖拽和会话存储都依赖 Windows 的接口。

在 Mac 上实际只有三条路:

  1. 用 macOS 自带的命令行工具:sftp、scp、rsync。
  2. 为了传文件专门开一台 Windows 虚拟机。能用,但为了拷一个文件要开整个系统。
  3. 用一款 Mac 原生的客户端,提供双栏 SFTP 浏览和保存的主机列表。

大多数人最后是第一种和第三种混着用:临时拷贝走终端,浏览和改文件走图形界面。

Mac 自带工具能做到什么程度

远程文件操作需要的东西,macOS 都已经内置:

# 上传单个文件
scp ./app.conf deploy@10.0.3.21:/etc/myapp/app.conf
# 浏览远程目录
sftp deploy@10.0.3.21
# 同步整个目录
rsync -avz ./build/ deploy@10.0.3.21:/var/www/app/

这些命令精确、可脚本化。如果你一天只传一两个文件,它们的效率其实很高。如果 SFTP 连不上,多数情况问题出在端口而不是命令本身,SFTP 端口是多少、为什么会连不上 里讲了排查顺序。

麻烦的是「到处看看」这类操作:看三个目录、改个文件名、编辑一份配置、再传上去。用 sftp 就得一行行敲路径,敲错一个字母文件就传到了别的目录。

Mac 上的 WinSCP 替代品要看什么

评估替代方案时,真正每天会用到的功能就这几项:

能力 为什么重要
双栏 SFTP 浏览器 左边本地、右边服务器,拖一下就传
远程文件编辑 打开配置改完直接存回服务器,不用先下载
保存主机和分组 生产、测试、客户环境都在一处
按主机管理密钥和密码 每次连接不用重新输凭据
跳板机支持 内网机器也能连上
协议覆盖 以 SFTP 为主,老服务器还要 FTP、SCP
带重试的传输队列 大文件传到一半断线不用重来

WinSCP 里最难替代的是它自带的语法高亮编辑器。不过用客户端把远程文件丢给你自己的编辑器打开,效果一样,甚至更顺手。

DartShell 在 macOS 上怎么处理文件传输

DartShell 把 SFTP 放在和终端同一个窗口里。连接一次之后,在 shell 旁边打开文件面板,而不是再开一个应用、再认证一遍。

具体是这样:

  • 你为 SSH 保存的那台主机,就是 SFTP 里浏览的那台主机
  • 上传构建产物和看部署日志,在同一组标签页里完成
  • 改 nginx 或应用配置,不用先下载
  • 还没迁到 SFTP 的老服务器,仍然可以用 FTP

如果你的日常是「以 SSH 为主、偶尔传文件」,这样能把应用切换整个省掉。刚换到 Mac、还在搭工具链的话,PuTTY 的 Mac 替代方案 讲的是终端这边的同类选择,Mac 上主流 SSH 客户端对比 则说明什么时候图形界面比终端里的 ssh 更值。

WinSCP 的习惯怎么对应到 Mac

WinSCP 里的习惯 Mac 上的对应做法
保存的会话 保存的主机,支持分组和搜索
双栏之间拖拽 双栏 SFTP 浏览器
编辑远程文件 用编辑器打开,保存回服务器
目录同步 脚本用 rsync,一次性同步用界面的同步视图
保持远程目录实时更新 客户端的监听模式,或者 rsync 循环
传输队列 排队传输,重连后自动重试

思路是可以整套搬过来的。变的只是配置存在哪:主机存在应用里,密钥交给 macOS 钥匙串,而不是 Windows 注册表。

常见问题

Mac 上能装 WinSCP 吗?

不能原生安装。WinSCP 只支持 Windows,所以在 macOS 上要么在 Windows 虚拟机里跑,要么用 Mac 上的 SFTP、FTP 替代工具。

Mac 上最好的 WinSCP 替代品是哪个?

看你传文件的频率。偶尔拷贝,自带的 sftp、scp、rsync 完全够用;每天都要浏览和编辑远程文件,带双栏 SFTP 和主机列表的原生客户端省下的时间更多。

macOS 自带 SFTP 客户端吗?

有。终端里的 sftp 和 scp 都基于 OpenSSH,能上传、下载、列目录,但没有拖拽,也没有远程文件编辑器。

Mac 上 SFTP 连不上是什么原因?

最常见的是 SSH 端口不是默认的 22、防火墙拦了端口,或者密钥权限过于开放。先确认端口,多数情况就能定位;剩下的排查步骤在 SFTP 端口排查指南 里。

能不能不下载就改服务器上的文件?

用原生客户端可以:在 SFTP 面板里打开文件,本地改完保存回服务器。用命令行的话,sftp 只能把文件取下来,改完还要手动传回去。

写在最后

WinSCP 没有 macOS 版本,短期内也不会有。好消息是这套工作流是存在的:可脚本化的部分交给 sftp、scp、rsync,浏览和编辑的部分交给原生客户端。

如果传文件只占你一天里很小一部分,待在终端里就好。如果每天要打开好几次远程目录,就选一个把 SFTP 面板放在 SSH 会话旁边的客户端,一周之后你基本不会再想起 WinSCP。

DartShell

想要更高效的远程运维体验?

DartShell 在一套 macOS 原生体验里统一了 SSH、RDP、VNC、SFTP 和串口,帮你减少工具切换和重复配置。

Download DartShell