相关疑难解决方法(0)

为什么这个通过“ssh -t”传输的二进制文件被改变了?

我正在尝试通过 SSH 复制文件,但scp由于不知道我需要的确切文件名而无法使用。尽管小二进制文件和文本文件传输良好,但大二进制文件会被更改。这是服务器上的文件:

remote$ ls -la
-rw-rw-r--  1 user user 244970907 Aug 24 11:11 foo.gz
remote$ md5sum foo.gz 
9b5a44dad9d129bab52cbc6d806e7fda foo.gz
Run Code Online (Sandbox Code Playgroud)

这是我移动后的文件:

local$ time ssh me@server.com -t 'cat /path/to/foo.gz' > latest.gz

real    1m52.098s
user    0m2.608s
sys     0m4.370s
local$ md5sum latest.gz
76fae9d6a4711bad1560092b539d034b  latest.gz

local$ ls -la
-rw-rw-r--  1 dotancohen dotancohen 245849912 Aug 24 18:26 latest.gz
Run Code Online (Sandbox Code Playgroud)

请注意,下载的文件比服务器上的文件!但是,如果我对一个非常小的文件做同样的事情,那么一切都会按预期进行:

remote$ echo "Hello" | gzip -c > hello.txt.gz
remote$ md5sum hello.txt.gz
08bf5080733d46a47d339520176b9211  hello.txt.gz

local$ time ssh me@server.com -t 'cat /path/to/hello.txt.gz' …
Run Code Online (Sandbox Code Playgroud)

ssh file-copy

32
推荐指数
2
解决办法
8780
查看次数

标签 统计

file-copy ×1

ssh ×1