在ssh协议中,是否存在文件传输机制?
我正在使用已有ssh工具代码的现有代码库。现在我需要通过SSH连接传输文件。如果ssh协议已经支持它,我不必将scp的东西整合进去。通过ssh传输文件
谢谢。
编辑:
我使用C,基于openssh的ssh代码。
我必须编程地传输文件,而不是使用外部程序/命令,因为有一些限制。该程序应该在远程主机上逐块传输任何大小的文件,并即时处理该块。然后块数据被丢弃。
在ssh协议中,是否存在文件传输机制?
我正在使用已有ssh工具代码的现有代码库。现在我需要通过SSH连接传输文件。如果ssh协议已经支持它,我不必将scp的东西整合进去。通过ssh传输文件
谢谢。
编辑:
我使用C,基于openssh的ssh代码。
我必须编程地传输文件,而不是使用外部程序/命令,因为有一些限制。该程序应该在远程主机上逐块传输任何大小的文件,并即时处理该块。然后块数据被丢弃。
sftp和scp都是现有的“安全”文件传输方法,但您的答案将取决于您为应用程序使用的技术堆栈。您没有提及您是否使用C#,PHP或其他语言,或者您的应用在哪种机器上运行。这些事情将对您将得到的答案产生重大影响。
我使用基于openssh的C,ssh代码。 – datasunny 2010-03-25 16:27:11
试试看SFTP。
编辑:您可能还会发现this article有关在ssh上运行rsunc的有用信息。
echo "hello" | ssh [email protected] "cat - > /tmp/file"
我正确地读取文件,用SSH管理它,然后在/ tmp/file中的SSHHost服务器上写入。
的Rsync能有所帮助:
rsync [email protected]:filename remotefilename
它似乎不幸rsync必须在两台机器上都可用 – Hafenkranich 2016-06-05 17:00:19
老派的方式是“焦油对焦油”,这确实复制和保存权限的一个好工作。这在很大程度上被双方使用rsync时使用rsync所取代。
ssh [email protected] "cd mydir && tar cfp - mysubdir" | tar xvfp -
当你这样做时,要小心稀疏文件等。在这种过程中,大多数焦油都可以选择保留文件洞。
请记住,两边都必须能够使用rsync – Hafenkranich 2016-06-05 17:03:04
To download: remote -> local
scp [email protected]_host:remote_file local_file
To upload: local -> remote
scp local_file [email protected]_host:remote_file
对于多个文件,在scp之后包含-r
。
可能重复的[通过SSH传输文件](http://stackoverflow.com/questions/343711/transferring-files-over-ssh) – Ajedi32 2014-06-10 14:55:43