每次我通过 sftp 下载大文件时,源机器上的 md5sum 与我在目标机器上做的 md5sum 不匹配。
我在运行 openssh-server 的 Ubuntu 12.04 机器上有一个 13gig 文件。
我使用 FileZilla 通过 sftp 将该文件下载到我的笔记本电脑。但是,下载完成后文件并不完全相同。
也许 FTP 协议不是最佳选择?如果没有方便的外部硬盘驱动器,最可靠的方法是什么可以传输此文件并确保我得到的副本是准确的?
每次我通过 sftp 下载大文件时,源机器上的 md5sum 与我在目标机器上做的 md5sum 不匹配。
我在运行 openssh-server 的 Ubuntu 12.04 机器上有一个 13gig 文件。
我使用 FileZilla 通过 sftp 将该文件下载到我的笔记本电脑。但是,下载完成后文件并不完全相同。
也许 FTP 协议不是最佳选择?如果没有方便的外部硬盘驱动器,最可靠的方法是什么可以传输此文件并确保我得到的副本是准确的?
SFTP 实际上仍然会遇到与 ASCII/二进制传输模式等相关的潜在问题;我建议改用 SCP(Secure Copy,通过 SSH)。如果您的目标机器是 Windows 机器,最好的客户端之一——也是免费的——是来自http://www.chiark.greenend.org.uk/~sgtatham/putty/的 PuTTY 二进制文件 pscp.exe 。
要使用 pscp.exe 从源复制到目标,请打开 Windows 命令提示符到保存 pscp.exe 的位置,然后运行以下命令:
pscp.exe [用户名]@[远程机器]:[文件路径] [本地保存位置]
我同意我相信出于某种原因你在两台机器之间运行 ASCI 传输模式。Windows 类型机器和基于 UNIX 的机器之间的行终止符不同,以 ASCI 模式传输会导致自动行终止转换。
在 BINARY 模式下运行,不进行任何翻译。我相信 SFTP 只有二进制传输模式。
当然有一个警告,如果您尝试将 Windows 文本材料传输到 Linux(反之亦然),尽管有校验和,内容可能会被解释不同。然而,一些编辑器会自动处理这些行终止细节,但不是全部。