Linux - 通過SecureCRT的rz、sz和sftp實現文件的上傳和下載

来源:https://www.cnblogs.com/shoufeng/archive/2019/03/22/10575704.html
-Advertisement-
Play Games

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


目錄

SecureCRT中有以下文件傳輸協議:
① ASCII: 最快的傳輸協議, 但只能傳送文本文件;
② Xmodem: 古老的傳輸協議, 速度較慢, 但使用了CRC錯誤偵測方法, 傳輸的準確率可高達99.6%;
③ Ymodem: 是Xmodem的改良版, 使用了1024位區段傳送, 速度比Xmodem快;
④ Zmodem: Zmodem採用了串流式(streaming)傳輸方式, 傳輸速度較快, 而且還具有自動改變區段大小和斷點續傳、快速錯誤偵測等功能.

Zmodem是目前最流行的文件傳輸協議, 下述的rz/sz命令就是通過Zmodem模式傳輸文件.

1 通過rz/sz命令上傳/下載

1.1 安裝lrzsz軟體

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

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

1.2 rz - 上傳文件

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.

SecureCRT上傳文件

註意: 上傳文件時, 如果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

SecureCRT跳過同名文件

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

解決辦法: 上傳時用rz -be, 並且不要勾選彈出的對話框中"Upload files as ASCII"前選框.

-b: 用binary的方式上傳下載, 不解釋字元為ASCII.
-e: 強制escape所有控制字元, 比如Ctrl+x, DEL等.

1.3 sz - 下載文件

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

SecureCRT下載文件

(1) sz的其他用法:

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

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

選擇菜單欄的[Options(選項)] --> [Session Options(會話選項)] --> [X/Y/Zmodem], 然後修改Upload/Download路徑即可.

2 通過sftp上傳/下載文件

為了數據和服務的安全, 很多生產環境中的Linux伺服器不能使用外網環境. 在只有SSH連接的情況下, 傳輸文件變得很不方便.

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

2.1 關於SFTP的簡介

SFTP是Secure File Transfer Protocol(安全文件傳輸協議)的縮寫, 可以為傳輸文件提供一種安全的網路的加密方法.

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

SFTP是SSH的一部分: 在SSH軟體包中, 已經包含了SFTP安全文件信息傳輸子系統.

SFTP本身沒有單獨的守護進程, 它必須使用sshd守護進程 (埠號預設是22) 來完成相應的連接和答覆操作.

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

2.2 SFTP與FTP的區別

① FTP是一種方便數據共用的文件傳輸協議, 包括一個FTP伺服器和多個FTP客戶端. FTP客戶端通過FTP協議從伺服器上下載資源.

② SFTP協議是在FTP的基礎上, 對數據採取了加密/解密技術, 使數據傳輸更安全.

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

2.3 使用SFTP之前的工作

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

如果出現驗證, 填入正確的密碼後即可實現遠程連接. 連接成功後終端信息如圖:

sftp登錄

2.4 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

2.5 sftp - 下載文件

下載操作示例:

# 將遠端/root路徑下的myid文件下載至本地/home路徑下: 
sftp> get /root/myid /home          # 指定遠端文件 + 本地接收路徑
Fetching /root/myid to /home/myid
sftp> lls /home                     # 查看本地/home路徑下的文件
myid

如果上傳/下載的是文件夾, 在put/get命令後加上-r參數即可.

上述操作截圖如下:

sftp上傳/下載圖

退出sftp:

在終端輸入quit或者exit, 然後回車, 就能退出sftp連接.

參考

Linux--用SecureCRT來上傳和下載文件

sftp登錄及命令行用法

百度百科關於sftp的說明

版權聲明

作者: ma_shoufeng(馬瘦風)

出處: 博客園 馬瘦風的博客

您的支持是對博主的極大鼓勵, 感謝您的閱讀.

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先創建一個DataGridView控制項,然後創建列(包括列名的定義), 由於我不是和資料庫進行連接,只是為了輸出好看一點。 刪除所有數據: while (this.dataGridView1.Rows.Count != 0) { this.dataGridView1.Rows.RemoveAt(0 ...
  • 在VS中添加bartender的COM組件引用後(一定要添加,否則會提示找不到BarTender.Application): 如是遇到標簽等設置無誤,但仍然無法列印時,有可能存在以下問題: 1.印表機驅動有問題,需重裝驅動; 2.bartender在企業版中需要設置Seagull License S ...
  • 寫個重新載入 ocelot 配置的介面 Intro 我們想把 ocelot 的配置放在自己的存儲中,放在 Redis 或者資料庫中,當修改了 Ocelot 的配置之後希望即時生效,又不想在網關這邊定時刷新 ocelot 配置,ocelot 配置沒變化的時候,定時刷新配置是一種無意義的資源浪費,oce ...
  • 在C#開發應用程式的過程中,圖片一般會存放在文件系統中,當然圖片也可以二進位的方式存放到資料庫中,不過一般不建議存放在資料庫中,因為圖片占用的空間還是挺大的,特殊情況下可以考慮將圖片存在數據。此文將介紹如何將圖片存放在Sqlserver資料庫中,並從資料庫中讀取出圖片信息。 在將圖片存儲到資料庫之前 ...
  • 一. 模型綁定 ASP.NET Core MVC 中的模型綁定,是將 HTTP 請求中的數據映射到action方法參數。 這些參數可能是簡單類型的參數,如字元串、整數或浮點數,也可能是複雜類型的參數。 當 MVC 收到 HTTP 請求時,它會將此請求路由定位到控制器的指定action方法。預設路由模 ...
  • 分析及思路 來看一下項目目錄結構 炒雞正常的三板斧src+docs+tests。咦,怎麼會多出一個build的文件夾呢,這就是我們今天要研究的目錄。今天我會帶著大家在五分鐘之內編寫一個極簡的編譯腳本。 build內及其簡單 思路很明顯了:獲取當前腳本所在目錄=>獲取上一級目錄=>回到上一級(.sln ...
  • 前臺: <title>標題</title> <link href="EasyUi_v1.3.4/easyui/themes/default/easyui.css" rel="stylesheet" /> <link href="EasyUi_v1.3.4/easyui/themes/icon.css ...
  • 概述 IOC (Inversion of Control) 控制反轉,大家應該都比較熟悉了、應該也都有用過,這裡就不具體介紹了。自己平時也有用到過IOC,但是對它的具體實現原理只有一個模糊的概念,所以決定自己手動實現一個簡單IOC。 開始 首先呢我們得知道IOC的主要作用是什麼,才能開始動手寫。IO ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...