ssh-clipboard 通过 SSH 加密同步剪贴板的命令行工具,适用于 macOS 和 Linux
🧭 核心特性与工作原理
ssh-clipboard 解决了在个人多台设备间安全、高效共享剪贴板的问题,其核心优势包括:
- 原生体验:直接读写系统剪贴板(macOS 的
pbcopy/pbpaste,Linux 的 Wayland/X11),而不是在终端中模拟粘贴,因此支持文件、图片等原生格式。 - 极致隐私:通过点对点 SSH 同步数据,没有中间服务器、没有账号、不引入新的加密密钥,完全依赖你现有的 SSH 基础设施。
- 快速可靠:采用持久连接、数据去重和队列机制,同步速度快,且能处理冲突(保留最新内容)。
- 自动化运维:提供
monitor(实时仪表盘)和status --json(状态检查)命令,便于集成到脚本中。
其工作流程简单直接:
- 在每台你需要同步剪贴板的机器上安装
ssh-clipboard。 - 在任一机器上运行
ssh-clipboard setup,添加对端机器的 SSH 连接信息(支持 Tailscale 自动发现)。 - 此后,在任何一台机器上复制内容,都会自动同步到所有已连接的设备。
📦 安装
前提要求
- 操作系统:macOS 或 Linux (x64/arm64)。
- Node.js 环境:需要 Node.js 和 npm。
- SSH 配置:目标机器必须能够通过 SSH 无密码登录(建议使用 SSH 密钥)。
安装步骤
使用 npm 进行全局安装是最推荐的方式:
1 | npm i -g ssh-clipboard |
安装后,ssh-clipboard 命令即可用。
🚀 快速配置与使用
1. 首次设置与添加对端 (setup)
在每台机器上,运行以下命令来配置要同步的远程主机:
1 | ssh-clipboard setup |
- 如果机器上安装了 Tailscale,
setup命令会自动列出同一网络中的在线设备,方便选择。 - 你也可以手动输入任何支持 SSH 无密码登录的地址(例如
user@192.168.1.100或user@hostname.local)。 - 该命令会验证 SSH 连接,检查远端是否已安装
ssh-clipboard,如有需要则自动安装或升级,然后启动一个用户级后台服务(macOS 为launchd,Linux 为systemd)。
2. 日常同步
配置完成后,同步是全自动的:
- 在机器 A 上复制任何内容(文本、文件、图像)。
- 在机器 B 上直接粘贴(
Cmd+V或Ctrl+V),内容会立即出现。
3. 监控与状态查看
实时仪表盘:
1
ssh-clipboard monitor
这个 TUI 界面会清晰列出所有已连接机器的在线状态、版本信息。按
u键可以手动触发所有机器的版本检查更新。脚本化状态检查:
1
ssh-clipboard status --json
输出机器连接状态和版本信息,便于自动化运维。
4. 手动更新
1 | # 检查是否有新版本可用 |
更新命令会自动比较当前版本与 npm 最新版本,并优雅地重启后台服务。
🔧 高级配置与故障排查
- 自动更新机制:每个安装的守护进程会在启动时和每 15 分钟检查一次 npm 稳定版更新。更新包经过 SHA-512 和 SHA-256 双重校验,确保完整性后原子性地替换二进制文件并重启服务。
- 一致性:所有更新事件会在连接的对端间“传播”,因此你可以在任何一台机器上触发一次更新,整个集群最终都会收敛到最新版本。
- 故障排查:
- 如果同步失败,首先检查
ssh-clipboard status确认连接状态。 - 确保所有机器上
ssh-clipboard版本一致(使用--version查看)。 - 检查 SSH 无密码登录是否正常工作:
ssh user@hostname echo "ok"。 - 手动重启后台服务:macOS 上
launchctl kickstart -k gui/$(id -u)/com.ssh-clipboard.daemon;Linux 上systemctl --user restart ssh-clipboard.service。
- 如果同步失败,首先检查
总结
ssh-clipboard 为需要跨设备安全、高效同步剪贴板的用户提供了一个理想的本地解决方案。安装和配置的核心在于通过 npm 全局安装后,使用 setup 命令建立各机器间的 SSH 信任关系。日常使用完全无感,就像在使用同一台机器的剪贴板。其 monitor 和 status 命令为高级用户和自动化运维提供了良好的可观测性。如果你已经在使用 SSH 密钥管理多台设备,这将是替代云剪贴板服务的绝佳开源选择。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 极客的赛博空间 | 专注 AI 与技术分享!
评论





