日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過sftp/scp/rsync/netcat上傳或下載文件

在兩臺設備之間傳輸文件是常見的運維需求,常用的安全文件傳輸工具包括sftpscprsync以及netcat。本文將介紹如何使用這四種工具進行文件傳輸。

sftp、scp、rsync、netcat工具特點及使用場景說明

工具

特點及使用場景說明

sftp

使用交互式文件管理的傳輸方式,傳輸前需先與遠程FTP服務器建立連接,連接后可以使用ls查看遠程文件目錄結構等操作。

scp

用于快速傳輸單個文件或整個目錄。如果事先了解遠端文件目錄結構,可以使用scp工具。

rsync

主要用于文件同步、備份等場景,并支持增量拷貝。在需要傳輸大文件或網絡環境較差的情況下,可以考慮使用rsync工具。

netcat

是一款功能較為完善的網絡工具,不僅支持文件傳輸,還具備端口掃描和端口連通性測試等功能。然而,在默認情況下,netcat在傳輸文件時并不進行加密。因此,如果您的數據傳輸涉及公網環境,建議您不要直接使用netcat進行數據傳輸。

適用場景

  • sftpscp工具支持的操作系統包括Linux、macOS和Windows。

  • rsyncnetcat支持的操作系統包括Linux和macOS。

  • 傳輸文件大小限制:文件大小不受限制。

    重要

前提條件

  • ECS實例狀態為運行中

  • 獲取ECS實例的對外公網IP地址。

    說明

    若您的ECS實例未實現公網通信,可綁定彈性公網IP。具體操作,請參見綁定EIP

  • ECS實例所在安全組入方向已開放22端口。具體操作,請參見添加安全組規則

通過sftp工具傳輸文件

sftp命令會基于ssh協議對所傳輸的文件進行加密處理,支持SSH的完整安全性和身份驗證功能。不僅具備FTP協議的所有功能,還提供了更高的安全性和可靠性。

參數說明

參數

說明

-b

設置批處理文件

-B

設置緩沖區大小

-C

使用壓縮模式

-F

設置ssh配置文件

-o

設置ssh選項

-P

設置連接端口號

-R

設置最大請求數

-4

強制使用IPv4地址

-6

強制使用IPv6地址

使用示例

  • 登錄遠程FTP服務器

    運行如下命令,以登錄遠程FTP服務器,并按照提示輸入遠程FTP服務用戶的密碼。

    sftp <user-name>@<remote-ftp-server-ip>

    回顯信息示例如下,說明連接遠程FTP服務器成功。

    Connected to xxx.xxx.xxx.xxx.
    sftp>
  • 運行如下命令,以列出遠程FTP服務器上的文件。

    ls
    說明

    如果ls不指定路徑,則顯示當前路徑下的文件列表,如果指定路徑,則顯示指定路徑下的文件列表。

  • 上傳或下載文件/文件夾。

    • 運行以下命令,將local_folder_or_file復制到遠程服務器。

      put -r local_folder_or_file remote_folder_or_file
    • 運行以下命令,將遠程服務器的remote_folder_or_file復制到本地。

      get -r remote_folder_or_file local_folder_or_file
  • 斷開遠程ftp服務器

    您可以輸入quit或者bye斷開遠程ftp服務器連接。

通過scp工具傳輸文件

大部分Linux和Windows已經內置了scp工具,您無需進行安裝即可使用,SCP命令使用SSH來傳輸數據,并使用與SSH相同的認證模式,在需要進行驗證時會要求您輸入密碼或口令。

特點說明

scp的特點如下:

  • scp類似于rcp,它能夠保留特定文件系統上的文件屬性,并支持遞歸拷貝子目錄及其文件屬性。

  • scp具備更高的文件傳輸保密性。然而,其代價在于在傳輸過程中需要輸入密碼,并且涉及SSH的一些配置問題,這些因素均對其使用便利性產生影響。對于有特定需求的用戶而言,SCP是一種較為合適的傳輸工具。

參數說明

scp常用參數說明如下表所示:

參數

說明

-v

詳細方式顯示輸出,可以用來調試連接、驗證或者配置問題

-B

使用批處理模式(傳輸過程中不詢問傳輸口令或短語)

-C

在復制過程中壓縮文件或目錄

-P

如果默認SSH端口不是22,則使用此選項指定SSH端口

-r

遞歸復制整個目錄

-4

強制scp命令只使用IPv4地址

-6

強制scp命令只使用IPv6地址

使用示例

SCP的常用示例如下:

  • 從本地復制目錄到遠程服務器

    執行以下命令,將local_file復制至remote_ipremote_folder中。

    scp -r local_file remote_username@remote_ip:remote_folder
  • 從遠程服務器復制目錄到本地

    執行以下命令,將remote_ip中的remote_folder復制至local_file中。

    scp -r remote_username@remote_ip:remote_folder local_file

通過rsync工具傳輸文件

rsync是一個用于Linux/Unix系統的文件同步和傳輸工具。它是RCP的替代工具,rsync可通過rsh或ssh協議進行操作,也可以以守護進程模式運行。

安裝說明

您需要在本地和遠程服務器上安裝rsync,rsync的安裝方式如下:

Alibaba Cloud Linux 3/2

sudo yum install -y rsync 

CentOS 8/7/6

sudo yum install -y rsync 

Ubuntu/Debian

sudo apt install -y rsync 

參數說明

rsync常用參數說明如下表所示:

參數

說明

-v

詳細模式輸出

-a

歸檔模式,表示以遞歸的方式傳輸文件,并保持所有文件屬性不變,相當于使用了組合參數-rlptgoD

-r

對子目錄以遞歸模式處理

-l

保留軟鏈接

-p

保持文件權限

-t

保持文件時間信息

-g

保持文件屬組信息

-o

保持文件屬主信息

-D

保持設備文件信息

-H

保留硬鏈結

-S

對稀疏文件進行特殊處理以節省DST的空間

-z

對備份的文件在傳輸時進行壓縮處理

使用示例

按照數據傳輸方式的不同,rsync可以分為本地傳輸方式,遠程傳輸方式以及守護程序傳輸方式,以下介紹不同的數據傳輸場景下的使用示例。

  • 本地傳輸方式

    • 執行以下命令,將本機的local_folder_src目錄復制至local_folder_dest中。

      rsync -avSHP local_folder_src local_folder_dest
  • 遠程傳輸方式

    • 執行以下命令,將local_folder_or_file_src復制至remote_ipremote_folder_dest中。

      rsync -avP local_folder_or_file_src remote_username@remote_ip:remote_folder_dest
    • 執行以下命令,將remote_ip中的remote_folder_src復制至local_folder_dest中。

      rsync -avP remote_username@remote_ip:remote_folder_src local_folder_dest
    • 執行以下命令,以顯示遠程主機remote_ipremote_folder目錄下的文件列表。

      rsync --list-only remote_username@remote_ip:remote_folder
  • 守護程序傳輸模式

    說明
    • 如需使用守護程序傳輸模式,您必須事先準備一臺已運行rsync守護程序的遠程主機。

    • 在守護進程模式下,rsync服務器會開放873端口,以等待客戶端連接。連接時,rsync服務器會對口令進行驗證,若驗證通過,則可以進行文件傳輸。在首次連接完成后,系統會進行全量文件傳輸,此后的連接僅需進行增量備份。

    • 有關rsync守護程序傳輸模式配置文件的更多信息,請參見配置文件說明

    • 拷貝遠程rsync服務器(以daemon形式運行rsync)的remote_folder_src目錄到本地機local_folder_dest中。

      rsync -av remote_username@remote_ip::module_name/remote_folder_src local_folder_dest
    • 拷貝本地機器local_folder_src目錄文件到遠程rsync服務器(以daemon形式運行rsync)的remote_folder_dest目錄中。

      rsync -av local_folder_src remote_username@remote_ip::module_name/remote_folder_dest
說明

上述示例中使用到的變量說明如下:

  • local_folder_src:本地源目錄

  • local_folder_dest:本地目標目錄

  • local_folder_or_file_src:本地源目錄或文件

  • remote_username:遠程用戶名

  • remote_ip:遠程IP

  • remote_folder:遠程目錄

  • remote_folder_src:遠程源目錄

  • remote_folder_dest:遠程目標目錄

配置文件說明

rsync配置文件說明如下:

# 指定模塊傳輸文件的守護進程UID
uid = rsync
# 指定當模塊傳輸文件的守護進程GID
gid = rsync
# 端口號
port = 873

fake super = yes
# 使用chroot到文件系統中的目錄中
use chroot = no
# 最大并發連接數
max connections = 200
timeout = 600
# 忽略某些IO錯誤信息
ignore errors = true
list = false
log file = /var/log/rsyncd.log         

[backup]
comment = welcome to rsync backup!
# 用來指定要備份的目錄
path = /backup
# 設置false,客戶端可以上傳文件,true是只讀
read only = false
# 設置false,客戶端可以下載,true不能下載
write only = no
# 連接用戶名,和linux系統用戶名無關系
auth users = rsync_backup
# 驗證密碼文件
secrets file = /etc/rsync.passwd

通過netcat工具傳輸文件

netcat在網絡工具中被譽為“瑞士軍刀”,其功能強大,除了作為網絡工具外,其傳輸文件的能力也不容忽視。它能夠建立TCP連接、發送UDP數據包、對TCP和UDP端口進行掃描,并處理IPv4和IPv6數據包。

安裝說明

執行如下命令,以安裝netcat

Alibaba Cloud Linux 3/2

sudo yum install -y netcat

CentOS 8/7/6

sudo yum install -y netcat

Ubuntu/Debian

sudo apt install -y netcat

參數說明

netcat常用參數說明如下表所示:

參數

說明

-C

一直不斷連接

-g <網關>

設置路由器躍程通信網關,最多可設置8個

-G <指向器數目>

設置來源路由指向器,其數值為4的倍數

-i <延遲秒數>

設置時間間隔,以便傳送信息及掃描通信端口

-l

使用監聽模式,管控傳入的資料

-o <輸出文件>

指定文件名稱,將傳輸的數據按指定文件名以16進制進行保存

-p <通信端口>

設置本地主機使用的通信端口

-r

指定本地與遠端主機的通信端口

-s <IP地址>

本地源地址

-u

使用UDP傳輸協議

-v

顯示指令執行過程

-w <超時秒數>

設置等待連線的時間

-z

使用0輸入/輸出模式,只在掃描通信端口時使用

-n

直接使用IP地址,而不通過域名服務器

使用示例

ncnetcat的簡寫,nc的常用示例如下:

重要

以下示例使用端口號為9999,所以ECS實例所在安全組入方向需要開放9999端口。您可以結合您的情況修改為您想使用的端口,具體操作,請參見添加安全組規則

  • 使用nc命令復制文件或目錄。以下示例演示如何將目錄或文件從xxx.xxx.xxx.100復制到xxx.xxx.xxx.200

    • xxx.xxx.xxx.100上:安裝pv工具。

      說明

      當使用nc命令傳輸大文件或者目錄時,傳輸時間可能會較長,可以通過pv工具實時獲取傳輸進度。

      Alibaba Cloud Linux 3/2

      sudo yum install -y pv

      CentOS 8/7/6

      sudo yum install -y pv

      Ubuntu/Debian

      sudo apt install -y pv
    • xxx.xxx.xxx.200上執行命令。

      nc -l 9999 | tar zxf -
    • xxx.xxx.xxx.100上執行命令。

      tar czf - dir_or_file_need_to_be_transferred | pv | nc -N xxx.xxx.xxx.200 9999
      說明
      • 示例使用的傳輸目錄為dir_or_file_need_to_be_transferred,請根據您的實際使用情況進行替換。

      • 結合tar命令傳輸目錄或文件時,有關文件讀寫權限需結合實際情況進行確認。

相關文檔

  • 上傳文件至ECS后,您可以對重要文件進行備份。具體操作,請參見創建快照

  • 如需上傳本地文件至Windows ECS實例,請參見上傳或下載文件(Windows)

  • 您還可以通過對象存儲OSS來存儲和管理文件。詳細操作,請參見OSS快速入門

  • 如果您使用Workbench遠程連接至Linux實例,您可以通過Workbench可視化地管理Linux文件,包括文件的上傳和下載等操作。具體操作,請參見使用Workbench上傳或下載文件