Каждый раз, когда я загружаю большой файл через sftp, md5sum на исходном компьютере не совпадает с md5sum, который я делаю на конечном компьютере.
У меня есть файл 13gig на машине Ubuntu 12.04 с запущенным openssh-сервером.
Я использовал FileZilla, чтобы загрузить этот файл на свой ноутбук через sftp. Однако после завершения загрузки файл будет другим.
Возможно, протокол FTP - не лучший выбор? Каким наиболее надежным способом передать этот файл и быть уверенным, что полученная копия будет точной, без внешнего жесткого диска под рукой?
SFTP может по-прежнему страдать от потенциальных проблем, связанных с режимами передачи ASCII / двоичного кода и т.д .; Вместо этого я рекомендую использовать SCP (безопасное копирование через SSH). Если ваша конечная машина - машина Windows, одним из лучших клиентов - также бесплатных - является двоичный файл PuTTY pscp.exe от http://www.chiark.greenend.org.uk/~sgtatham/putty/.
Чтобы скопировать из источника в место назначения с помощью pscp.exe, откройте командную строку Windows в том месте, где сохранен pscp.exe, и выполните следующее:
pscp.exe [имя пользователя] @ [удаленный-компьютер]: [путь-к-файлу] [локальное-место-сохранения]
Я согласен с тем, что я считаю, что по какой-то причине вы используете режим передачи ASCI между двумя машинами. Знаки конца строки между машинами Windows и UNIX различаются, и передача в режиме ASCI вызывает автоматическое преобразование завершения строки.
Работает в ДВОИЧНОМ режиме, перевод не выполняется. SFTP, я считаю, имеет ТОЛЬКО режим двоичной передачи.
Конечно, есть предостережение, контент может интерпретироваться по-разному, несмотря на контрольную сумму, если вы пытаетесь перенести материал Windows TEXTUAL в Linux (и наоборот). Некоторые редакторы, однако, автоматически заботятся об этих деталях завершения строки, но НЕ обо всех.