通过 sFTP 移动 13 GB 的文件(md5sum 失败)

通过 sFTP 移动 13 GB 的文件(md5sum 失败)

每次我通过 sftp 下载大文件时,源计算机上的 md5sum 都与目标计算机上的 md5sum 不匹配。

我在运行 openssh-server 的 Ubuntu 12.04 机器上有一个 13gig 的文件。

我使用 FileZilla 通过 sftp 将该文件下载到我的笔记本电脑。但是,下载完成后文件并不完全相同。

也许 FTP 协议不是最佳选择?如果没有外部硬盘,我可以用什么最可靠的方法传输此文件并确保获得的副本准确无误?

答案1

SFTP 实际上仍可能存在与 ASCII/二进制传输模式等相关的潜在问题;我建议改用 SCP(通过 SSH 进行安全复制)。如果您的目标计算机是 Windows 计算机,最好的客户端之一(也是免费的)是来自的 PuTTY 二进制 pscp.exehttp://www.chiark.greenend.org.uk/~sgtatham/putty/

要使用 pscp.exe 从源复制到目标,请打开 Windows 命令提示符到保存 pscp.exe 的位置,然后运行以下命令:

pscp.exe [用户名]@[远程机器]:[文件路径] [本地保存位置]

答案2

我同意,我认为出于某种原因,您在两台机器之间运行的是 ASCI 传输模式。Windows 类型的机器和基于 UNIX 的机器之间的行终止符是不同的,而 ASCI 模式下的传输会导致自动行终止符转换。

在二进制模式下运行,不进行任何转换。我相信 SFTP 只有二进制传输模式。

当然,需要注意的是,如果您尝试将 Windows 文本材料传输到 Linux(反之亦然),则尽管有校验和,内容的解释也可能不同。不过,有些编辑器会自动处理这些行终止细节,但并非所有编辑器都会这样做。

相关内容