A. linux下如何利用ssh傳輸文件
在linux下一般用scp這個命令來通過ssh傳輸文件。
1、從伺服器上下載文件
scp username@servername:/path/filename /var/www/local_dir(本地目錄)
例如scp [email protected]:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下載到/var/www/local_dir(本地目錄)
2、上傳本地文件到伺服器
scp /path/filename username@servername:/path
例如scp /var/www/test.php [email protected]:/var/www/ 把本機/var/www/目錄下的test.php文件上傳到192.168.0.101這台伺服器上的/var/www/目錄中
3、從伺服器下載整個目錄
scp -r username@servername:/var/www/remote_dir/(遠程目錄) /var/www/local_dir(本地目錄)
例如:scp -r [email protected]:/var/www/test /var/www/
4、上傳目錄到伺服器
scp -r local_dir username@servername:remote_dir
例如:scp -r test [email protected]:/var/www/ 把當前目錄下的test目錄上傳到伺服器的/var/www/ 目錄
B. 如何在Linux中使用rz/sz工具進行文件傳輸
一般來說,linux伺服器大多是通過ssh客戶端來進行遠程的登陸和管理的,使用ssh登陸linux主機以後,如何能夠快速的和本地機器進行文件的交互呢,也就是上傳和下載文件到伺服器和本地;
與ssh有關的兩個命令可以提供很方便的操作:
sz:將選定的文件發送(send)到本地機器
rz:運行該命令會彈出一個文件選擇窗口,從本地選擇文件上傳到伺服器(receive)
rz,sz是便是Linux/Unix同Windows進行ZModem文件傳輸的命令行工具
windows端需要支持ZModem的telnet/ssh客戶端(比如SecureCRT)
運行命令rz,即是接收文件,SecureCRT就會彈出文件選擇對話框,選好文件之後關閉對話框,文件就會上傳到當前目錄
注意:單獨用rz會有兩個問題:上傳中斷、上傳文件變化(md5不同),解決辦法是上傳是用rz -be,並且去掉彈出的對話框中「Upload files as ASCII」前的勾選。
-b binary 用binary的方式上傳下載,不解釋字元為ascii
-e 強制escape 所有控制字元,比如Ctrl+x,DEL等
運行命令sz file1 file2就是發文件到windows上(保存的目錄是可以配置)比ftp命令方便多了,而且伺服器不用再開FTP服務了
PS:Linux上rz/sz這兩個小工具安裝lrzsz-x.x.xx.rpm即可。
當然,還可以設置一下目錄了:
在SecureCRT設置一下上傳和下載的默認目錄
options–》session options–》file transfer 下可以設置上傳和下載的目錄
剩下的你只要在用SecureCRT登陸linux終端的時候:
發送文件到客戶端:sz filename
zmodem接收可以自行啟動。
從客戶端上傳文件到linux服務端:
只要服務端執行 : rz
然後在 SecureCRT 里選文件發送,協議 zmodem
Linux下和Windows之間的文件傳輸工具rz/sz(lrz/lsz) 介紹
【什麼是rz/sz (lsz/lrz)】
簡單說就是,可以很方便地用這兩個sz/rz工具,實現Linux下和Windows之間的文件傳輸(發送和接收),速度大概為10KB/s,適合中小文件。rz/sz 通過Zmodem協議傳輸數據。
【為什麼要用rz/sz】
普通Linux和Windows之間的文件共享方法,主要有建立nfs實現文件共享,和tftp之類的方法,但是都很麻煩,而如果只是小文件(幾十 K,幾百K),那麼直接用rz/sz,就顯得極其地方便了。大文件的話,還是要考慮上面說得,其他的共享方法了,畢竟,rz/sz速度只有10K左右,傳 大文件會累死人的
C. 怎麼把文件通過ssh傳送
scp 命令是 SSH 中最方便有用的命令了,試想,在兩台伺服器之間直接傳送文件,僅僅用 scp 一個命令就完全解決了。 你可以在一台伺服器上 以 root 身份運行 #scp servername:/home/ftp/pub/file1 . 這樣就把另一台伺服器上的文件 /home/ftp/pub/file1 直接傳到本機器的當前目錄下,當然你也可以用 #scp /tmp/file2 servername:/boot 把本機上的文件 /tmp/file2 送到另一台機器的 /boot 目錄下。而且整個傳送過程仍然是用 SSH 加密的。
scp 就是 secure , 是用來進行遠程文件拷貝的 . 數據傳輸使用 ssh1, 並且和 ssh1 使用相同的認證方式 , 提供相同的安全保證 . 與 rcp 不同的是 ,scp 會要求你輸入密碼如果需要的話 .
最簡單的應用如下 :
scp 本地用戶名 @IP 地址 : 文件名 1 遠程用戶名 @IP 地址 : 文件名 2
[ 本地用戶名 @IP 地址 :] 可以不輸入 , 可能需要輸入遠程用戶名所對應的密碼 .
可能有用的幾個參數 :
-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .
-C 使能壓縮選項 .
-P 選擇埠 . 注意 -p 已經被 rcp 使用 .
-4 強行使用 IPV4 地址 .
-6 強行使用 IPV6 地址 .
-r Recursively entire directories.
D. Linux下幾種文件傳輸命令 sz rz sftp scp
最近在部署系統時接觸了一些文件傳輸命令,分別做一下簡單記錄: 1.sftpSecure Ftp 是一個基於SSH安全協議的文件傳輸管理工具。由於它是基於SSH的,會在傳輸過程中對用戶的密碼、數據等敏感信息進行加密,因此可以有效的防止用戶信息在傳輸的過程中被竊取,比FTP有更高的安全性。在功能方面與FTP很類似,不僅可以傳輸文件數據,而且可以進行遠程的文件管理(如建立,刪除,查看文件列表等操作)。Sftp與ftp雖然只有一字之差,但基於的傳輸協議卻是不同的。因此不能用sftp client去連接ftp server 也不能用 ftp client 去連接 sftp server。 建立連接:sftp user@host 從本地上傳文件:put localpath 下載文件:get remotepath 與遠程相對應的本地操作,只需要在命令前加上」l」 即可,方便好記。 例如:lcd lpwd lmkdir 2.scpSCP :secure (remote file program) 也是一個基於SSH安全協議的文件傳輸命令。與sftp不同的是,它只提供主機間的文件傳輸功能,沒有文件管理的功能。 復制local_file 到遠程目錄remote_folder下 scp local_file remote_user@host:remote_folder 復制local_folder 到遠程remote_folder(需要加參數 -r 遞歸) scp –r local_folder remote_user@host:remote_folder 以上命令反過來寫就是遠程復制到本地 3.sz/rzsz/rz 是基於ZModem傳輸協議的命令。對傳輸的數據會進行核查,並且有很好的傳輸性能。使用起來更是非常方便,但前提是window端需要有能夠支持ZModem的telnet或者SSH客戶端,例如secureCRT。 首先需要在secureCRT中可以配置相關的本地下載和上傳目錄,然後用rz、sz命令即可方便的傳輸文件數據。 下載數據到本地下載目錄:sz filename1 filename2 … 上傳數據到遠程:執行rz –be 命令,客戶端會彈出上傳窗口,用戶自行選擇(可多選)要上傳的文件即可。 相關資料: