天天看點

Linux - 通過SecureCRT的rz、sz和sftp實作檔案的上傳和下載下傳

SecureCRT如何上傳/下載下傳檔案? 伺服器不能使用外網, 導緻lrzsz軟體無法安裝時又該如何上傳/下載下傳檔案? sftp如何上傳/下載下傳檔案? 本篇文章詳細告訴你要如何解決這些問題.

目錄

  • 1 通過rz/sz指令上傳/下載下傳
    • 1.1 安裝lrzsz軟體
    • 1.2 rz - 上傳檔案
    • 1.3 sz - 下載下傳檔案
  • 2 通過sftp上傳/下載下傳檔案
    • 2.1 關于SFTP的簡介
    • 2.2 SFTP與FTP的差別
    • 2.3 使用SFTP之前的工作
    • 2.4 sftp - 上傳檔案
    • 2.5 sftp - 下載下傳檔案
  • 參考
  • 版權聲明

SecureCRT中有以下檔案傳輸協定:

① ASCII: 最快的傳輸協定, 但隻能傳送文本檔案;

② Xmodem: 古老的傳輸協定, 速度較慢, 但使用了CRC錯誤偵測方法, 傳輸的準确率可高達99.6%;

③ Ymodem: 是Xmodem的改良版, 使用了1024位區段傳送, 速度比Xmodem快;

④ Zmodem: Zmodem采用了串流式(streaming)傳輸方式, 傳輸速度較快, 而且還具有自動改變區段大小和斷點續傳、快速錯誤偵測等功能.

Zmodem是目前最流行的檔案傳輸協定, 下述的rz/sz指令就是通過Zmodem模式傳輸檔案.

[root@host-10-0-20-50 ~]# sudo yum install -y lrzsz
           

若伺服器不能連接配接外網, 可參照 CentOS 6.5中安裝使用dstat資源統計工具 中的設定.

rz中的r是received(接收)的縮寫, 意為伺服器接收檔案(received by client), 即上傳本地檔案到伺服器.

鍵入

rz

指令, 然後回車, 将彈出檔案選擇對話框, 選擇需要上傳的檔案, 可選擇多個檔案.

點選确定後即可上傳檔案, 檔案接收路徑為目前執行rz指令的路徑.

過程如下:

[root@host-10-0-20-50 ~]# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
           
Linux - 通過SecureCRT的rz、sz和sftp實作檔案的上傳和下載下傳

注意: 上傳檔案時, 如果Linux伺服器接收檔案的目錄下有同名的檔案, 将跳過上傳過程. 資訊如下:

[root@host-10-0-20-50 elk]# rz
rz waiting to receive.
Starting zmodem transfer.  Press Ctrl+C to cancel.
Transferring elasticsearch-5.6.10.tar.gz...
elasticsearch-5.6.10.tar.gz was skipped
           
Linux - 通過SecureCRT的rz、sz和sftp實作檔案的上傳和下載下傳

擴充: 使用rz會有兩個問題: 上傳中斷、上傳檔案變化(md5不同). —— 尚未驗證, 請存疑.

解決辦法: 上傳時用

rz -be

, 并且不要勾選彈出的對話框中"Upload files as ASCII"前選框.

-b: 用binary的方式上傳下載下傳, 不解釋字元為ASCII.

-e: 強制escape所有控制字元, 比如Ctrl+x, DEL等.

sz中的s是send(發送)的縮寫, 意為伺服器發送檔案到用戶端(send to client), 即下載下傳伺服器檔案到本地.

sz download_files

指令, 然後回車, 即可将伺服器中的檔案下載下傳到SecureCRT配置的目錄下:

[root@host-10-0-20-50 ~]# cd /data/elk
[root@host-10-0-20-50 ~]# sz elasticsearch-5.6.10.tar.gz
           
Linux - 通過SecureCRT的rz、sz和sftp實作檔案的上傳和下載下傳

(1)

sz

的其他用法:

sz filename 				# 下載下傳一個檔案
sz filename1 filename2		# 下載下傳多個檔案
sz dir/*					# 下載下傳dir目錄下的所有檔案, 不包含dir下的檔案夾
           

(2) 修改SecureCRT預設的上傳/下載下傳目錄:

選擇菜單欄的

[Options(選項)] --> [Session Options(會話選項)] --> [X/Y/Zmodem]

, 然後修改Upload/Download路徑即可.

為了資料和服務的安全, 很多生産環境中的Linux伺服器不能使用外網環境. 在隻有SSH連接配接的情況下, 傳輸檔案變得很不友善.

如果Linux伺服器未安裝用于上傳和下載下傳的lrzsz軟體, 又不能現場安裝, 此時可考慮使用sftp完成相關操作.

SFTP是

Secure File Transfer Protocol

(安全檔案傳輸協定)的縮寫, 可以為傳輸檔案提供一種安全的網絡的加密方法.

不需要單獨安裝或配置sftp —— 支援SSH連接配接的伺服器, 也就預設開啟了SFTP.

SFTP是SSH的一部分: 在SSH軟體包中, 已經包含了SFTP安全檔案資訊傳輸子系統.

SFTP本身沒有單獨的守護程序, 它必須使用sshd守護程序 (端口号預設是22) 來完成相應的連接配接和答複操作.

是以從某種意義上來說, SFTP并不像一個伺服器程式, 而更像是一個用戶端程式.

① FTP是一種友善資料共享的檔案傳輸協定, 包括一個FTP伺服器和多個FTP用戶端. FTP用戶端通過FTP協定從伺服器上下載下傳資源.

② SFTP協定是在FTP的基礎上, 對資料采取了加密/解密技術, 使資料傳輸更安全.

③ SFTP的傳輸效率比FTP的低很多.

Windows系統下, 可以使用Core FTP、FileZilla、WinSCP、Xftp等軟體來連接配接SFTP進行上傳/下載下傳檔案、建立/删除目錄等操作.

這裡主要探讨Linux系統下的操作.

(1) 軟體環境:

可以使用任意終端工具, 比如MacOS下的Terminal, 或iTerm(此處示範使用), 或SecureCRT.

(2)

sftp

建立連接配接:

在終端中進行操作, 若打開SecureCRT的sftp: 菜單欄的

[File] --> [Connect SFTP Session]

即可.

# 在預設的SSH端口(22)下連接配接: 
# sftp username@remote_ip(or remote host name), 連接配接root使用者, 則可省略"root@".  
sftp [email protected]

# 在其他端口下的連接配接
sftp -o port=1000 username@remote_ip
           

如果出現驗證, 填入正确的密碼後即可實作遠端連接配接. 連接配接成功後終端資訊如圖:

Linux - 通過SecureCRT的rz、sz和sftp實作檔案的上傳和下載下傳

sftp與ftp有着幾乎相同的文法和功能:

① ls, rm, cd, mkdir, pwd 等指令是對目前連接配接的遠端端伺服器的操作;

② lls, lrm, lcd, lmkdir, lpwd 等指令是對本地端伺服器的操作 —— 在上述指令前加

l

(local)即可.

上傳操作示例:

# 預設連接配接的都是root目錄, 檢視本地和遠端/root路徑下的檔案: 
sftp> lls				# 本地
anaconda-ks.cfg  install.log  install.log.syslog  porc	remote.sh  test.sh
sftp> ls				# 遠端
anaconda-ks.cfg  install.log  install.log.syslog  myid  remote.sh  test.sh

# 将本地的remote.sh檔案上傳至遠端伺服器的/home路徑下: 

sftp> put remote.sh /home		# 指定遠端接收路徑為/home
Uploading remote.sh to /home/remote.sh
remote.sh                                   100%  538     0.5KB/s   00:00
sftp> ls /home					# 檢視遠端/home路徑下的檔案
/home/remote.sh
           

下載下傳操作示例:

# 将遠端/root路徑下的myid檔案下載下傳至本地/home路徑下: 
sftp> get /root/myid /home			# 指定遠端檔案 + 本地接收路徑
Fetching /root/myid to /home/myid
sftp> lls /home						# 檢視本地/home路徑下的檔案
myid
           

如果上傳/下載下傳的是檔案夾, 在put/get指令後加上

-r

參數即可.

上述操作截圖如下:

Linux - 通過SecureCRT的rz、sz和sftp實作檔案的上傳和下載下傳

退出

sftp

:

在終端輸入

quit

或者

exit

, 然後回車, 就能退出

sftp

連接配接.

Linux--用SecureCRT來上傳和下載下傳檔案

sftp登入及指令行用法

百度百科關于sftp的說明

作者: 馬瘦風

出處: 部落格園 馬瘦風的部落格

您的支援是對部落客的極大鼓勵, 感謝您的閱讀.

本文版權歸部落客所有, 歡迎轉載, 但請保留此段聲明, 并在文章頁面明顯位置給出原文連結, 否則部落客保留追究相關人員法律責任的權利.

繼續閱讀