在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