macOS 自带的功能

  • 访达:前往 → 连接服务器可以连接 SMB、NFS 和 WebDAV 共享,以只读方式连接 FTP 服务器。SFTP 不在列表中。Apple 在将 Mac 连接到共享电脑和服务器中介绍了这些选项。
  • 终端:sftp user@host 会打开一个交互式会话,scp file user@host:/path 会拷贝一个文件。两者都很快,也会使用你的 SSH 密钥,但什么都看不到:每个路径都得手动输入。

偶尔传几个文件,终端就够用了。日常工作中,能同时看到两侧的客户端更方便。

挑选 SFTP 客户端要看什么

要看什么 为什么重要
使用你自己的 ~/.ssh 密钥、代理和配置 无需再维护第二套密钥和主机
跳板机(ProxyJump) 很多服务器位于堡垒机之后
根据 known_hosts 检查主机密钥 服务器不是你预期的那台时会提醒你
你的 Mac 和服务器并排显示 每次拷贝的两端都看得到
连接中断后仍能完成的拷贝 大文件上传会自行完成
用你自己的编辑器编辑 无需手动下载就能修改配置文件

AnyBucket 全都做到了。对比列出了其他 Mac App 介绍了其中哪些功能。

连接 SFTP 服务器

  1. 按 ⇧⌘K(文件 → 连接服务器…),然后选择 SFTP。
  2. 输入服务器地址和你的用户名。如果你用密钥登录,密码留空即可。
  3. 连接。如果是第一次连接,AnyBucket 会显示服务器的主机密钥;在信任它之前,请将其指纹与管理员公布的指纹进行比对。
  4. 把它存储为书签,下次在 ⌘K 中输入几个字母就能找到。

你也可以把地址粘贴到命令面板中:按 ⌘K,然后粘贴 sftp://deploy@example.com/var/www。

拷贝文件

  1. 按 ⌘\ 打开第二个窗格,选择本机或另一台服务器。
  2. 用 Space 标记文件,或按 + 并输入 *.html 之类的模式。
  3. 按 F5 将它们拷贝到另一个窗格,或按 F6 移动。

遇到连接中断的传输会换用新连接重试,退出后队列也会恢复。两个窗格位于同一台 SFTP 服务器上、且你的账户有 shell 时,拷贝会用 cp 在服务器上完成,不会有任何内容下载到你的 Mac。

在服务器上编辑文件

在文件上按 F4 并选择一个 App。AnyBucket 会在那个 App 中打开它,你每次存储时都会上传更改。F3 会用快速查看显示文件,无需打开任何 App。⇧⌘C 会拷贝文件的 URL。

密钥、配置和跳板机

由于 AnyBucket 运行的是 /usr/bin/ssh,只要在终端中 ssh user@host 能用,在这里就能用:密码、密钥、代理、包含 Host、IdentityFile 和 ProxyJump 的 ~/.ssh/config,以及安全密钥。如果登录失败,请先在终端中尝试同一台主机。SSH 密钥和跳板机会一步步带你完成设置。