在不加密的情况下使用强身份验证在 linux 机器之间复制文件

Ziz*_*ncs 5 linux backup

我正在寻找一个合适的程序来将文件从一台 linux 机器复制到另一台机器。该程序应该能够进行身份验证,但不应该进行加密。后者背后的原因是缺乏进行加密的 CPU 能力。

我同时将备份从大约 70 台机器复制到单个备份服务器。单个服务器是 HP Proliant DL360 G7,具有 10 Gbps 以太网连接和可以执行 4 Gbps 的 FC 存储后端。通过 FTP,我可以将 ~400MB/sec 写入存储(这就是我想要的),但是通过 ssh 和 arcfour,我只能在 100% CPU 使用率的情况下执行 ~100MB/sec。这就是为什么我不希望文件传输被加密。

我发现不太合适的替代方案:

  • rcp:没有身份验证,算了
  • FTP:使身份验证“安全”(至少防止纯文本密码交换)是可能的,但并不容易,我还没有找到强制任何 FTP 守护程序加密控制通道(用于身份验证)而不是加密的方法加密数据通道(用于数据传输)
  • SCP/SFTP:在最近的 ssh(d) 实现中,您无法关闭加密。您能做的最好的事情是使用 arcfour cypher 进行加密,但它仍然使用过多的 CPU 能力来满足我的需要。
  • ssh 上的 rsync:与 SCP/SFTP 相同的问题。
  • 简单的 rsync:来自 rsyncd 的文档:“rsync 中使用的身份验证协议是基于 128 位 MD4 的质询响应系统。不过,这是相当弱的保护(至少有一种公开的强力散列查找算法),所以如果您想要真正高质量的安全性,那么我建议您通过 ssh 运行 rsync。” 这是不行的。

是否有一个协议/程序可以完全满足我的要求?

(如果它也可以在 Windows 上运行和/或它是否支持 rsync-stlye 复制/同步(例如,仅复制差异),那将是一个很大的优势。)

eww*_*ite 9

您尝试做我通常做的事情,使用权重较低的加密算法(如arcfour)。当这成为瓶颈时,我使用的下一个方法是完全禁用 ssh 加密。

一种方法是使用hpn-ssh作为您的传输。我对此的正常应用是跨高带宽、长距离链接(例如,芝加哥和纽约之间的 10GbE 链接,延迟为 16 毫秒)的 SSH 副本。hpn-ssh 允许在那里调整 TCP 窗口,但也可以选择完全禁用加密。这可能对您的情况有所帮助。

另请参阅:为什么我的 rsync 这么慢?

  • 当您以 7 秒之差击败迈克尔汉普顿的回答时接受了这个:-D (2认同)

Mic*_*ton 7

我想到了几个快速修复选项:

  • 错开您的备份,以便它们不会同时运行。
  • 将 ssh 替换为hpn-ssh(在服务器和所有 70 台机器上)并使用其 NONE 密码,这会在身份验证完成后关闭加密。