Relayium

Relayium 对比 scp:更简单的 SSH 文件传输

最近更新: 2026-07-09

几十年来,scp 一直是通过 SSH 传文件的默认方式:几乎装在你会用到的每一台类 Unix 机器上,人人都熟悉它的用法,而且一直很好用。没必要假装不是这样——scp 的地位是实至名归的。

Relayium 的 CLI 并不是要取代 SSH,而是搭在你已经拥有的同一条 SSH 访问权限之上。push 和 pull 使用你的 SSH 连接的方式和 scp 一样,但补上了几件 scp 从未打算做的事:接续中断的传输、用校验和验证每个文件、显示真实进度,以及在远程什么都没安装的情况下依然能用。

scp 确实更简单的场景

有必要坦白说:在很多任务里,scp 就是对的工具,加任何别的东西反而是负担。

push / pull:同一条 SSH,加上断点续传、校验和进度

relayium push 和 relayium pull 走的是与 scp 完全相同的 SSH 访问——同一台主机、同一把密钥、同一个端口。区别在于连接建立之后发生了什么。

每个文件到达后都会用 SHA-256 哈希做端到端校验,因此一个看起来完成了的传输,其内容确实和发出的一字不差。如果传输被打断——连接掉线、笔记本合上盖子——重新运行同一条命令会从中断处接着传,而不是全部重传,全程还能看到逐文件的真实进度,而不是悄无声息地拷贝。

实际使用上最大的差别,是远程没装 relayium 时会发生什么。push 会自动检测,如果没装,就退化为通过同一条 SSH 连接把一个普通的 tar 归档流传到对端并执行 tar -x——因此 push 在完全裸机的服务器上依然可用,事先无需安装任何东西。这个兜底只属于 push:pull 始终需要远程已经装好 relayium,因为在 pull 里,远程机器才是充当发送方的一端。

relayium push ./photos user@your-server:backups/
relayium pull user@your-server:backups/ ./restore

超越 SSH:daemon-direct 与跨网络配对

scp 只能在你拥有 SSH 访问权限的地方使用。Relayium 的 CLI 又加了两种 scp 没有对应能力的传输方式。

relayium serve 能把你拥有的一台机器变成一个 daemon-direct 目标,通过锁定的 TLS 1.3 访问——无需 SSH、无需 22 端口,信任建立在第一次连接时(可交互批准,或用 relayium authorize 提前授权以支持无人值守),此后一直锁定。用 relayium:// 地址直接向它 push。

如果要发给一个你完全没有 SSH 访问权限、身处互联网另一端的人,relayium send / receive 则改用一个简短代码来配对两台电脑——直连点对点,并在两端都打印一段验证码(SAS),传输开始前双方核对确认。这种场景 scp 完全无解,你首先得有 SSH 访问权限才行。

relayium push ./build relayium://your-server
relayium send ./report.pdf ABCD-1234

文件夹镜像:sync 对比反复运行 scp -r

反复用 scp -r 拷贝整个目录,意味着每次都要重传所有内容,也没有“发生了什么变化”或“该删除什么”的概念。relayium sync 在 push/pull 或 daemon-direct 之上构建增量单向镜像:只传发生变化的文件;--delete 会删除目标端上源端已经消失的文件;--watch 会在本地文件变化时实时持续重新同步——不需要额外的定时任务。

relayium sync ./photos user@your-server:backups/photos --delete --watch

功能一览对比

把最关键的差别并排列出:

常见问题

Relayium 的 CLI 需要账号吗?

不需要。push/pull 使用你自己的 SSH 访问权限,方式和 scp 完全一样——CLI 的任何模式都不需要 Relayium 账号,也不需要登录。

如果远程服务器没装 Relayium,push 还能用吗?

可以。push 会先检测,如果 relayium 不在,就会退化为通过同一条 SSH 连接传输一段普通的 tar 流,因此在裸机服务器上依然可用。这个兜底只属于 push——pull 始终需要远程已经装好 relayium,因为在 pull 里远程要充当发送方。

用起来真的和 scp 一样简单吗?

命令形式很相近:relayium push src user@host:dest,对应 scp -r src user@host:dest。区别只会在出问题时体现出来——连接掉线时会续传而不是重来,且每个文件到达后都会做校验和验证。

什么时候该直接用 scp?

对于真正的一次性拷贝——不需要续传,不需要校验,也不想引入额外的二进制——scp 本来就在那里,是更简单的选择。它也是快速脚本里更稳妥的默认项,不想引入新依赖时尤其如此。

Relayium 的 CLI 免费吗?

完全免费——没有付费档位,MIT 许可并开源,每种模式都是两端直接连接。

安装免费的 Relayium CLI,在你已有的 SSH 访问权限上试试 push 或 pull。

获取 CLI

继续阅读