tft每日頭條

 > 科技

 > ssh連接後傳輸文件

ssh連接後傳輸文件

科技 更新时间:2024-07-22 02:20:07

您可以通過多種方式通過 SSH 傳輸文件。我将在這裡讨論以下方法:

  • scp:已棄用的舊命令
  • rsync:用于文件同步的流行命令
  • sshfs:通過 SSH 挂載遠程目錄
  • sftp 客戶端:通過 SFTP 訪問文件的 GUI 工具

要通過 SSH 成功傳輸文件,您需要

  • 在兩台機器之間進行 SSH 訪問
  • 知道遠程機器上的用戶名和密碼
  • 遠程機器的 IP 地址或主機名(在同一子網上)

除此之外,讓我們看看通過 SSH 在遠程系統之間複制文件的方法。

方法一:使用 scp 命令通過 SSH 複制文件

scp 将被棄用,盡管如此,它仍然是我最喜歡的通過 SSH 在系統之間傳輸文件的工具。

為什麼?

因為它的語法類似于 cp 命令。

讓我們看看如何使用 scp 命令。

将文件從遠程機器複制到本地機器

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)1

假如您想将文件從遠程 Linux 系統複制到當前登錄的系統。

這是一個通用語法,它将文件從遠程系統上用戶的主目錄複制到本地登錄系統的當前目錄。

scp username@ip_address:/home/username/filename .

你看到與 cp 命令的相似之處了嗎?

除了必須用冒号 (:) 指定用戶名和 IP 地址外,幾乎相同。

現在,讓我向您展示這個命令的真實示例。

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)2

remote.txt在上面的示例中,我将文件從遠程系統上的目錄複制/home/abhishek/my_file到本地計算機的當前目錄。

這應該會提示您應該知道文件在遠程系統上的确切位置,選項卡完成在遠程系統上不起作用。

将文件從本地機器複制到遠程機器

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)3

這裡的場景略有改變,在這一個中,您将使用 scp 通過 SSH 将本地文件發送到遠程系統。

這是一種通用語法,它将文件名複制到遠程系統上用戶名的主目錄。

scp filename username@ip_address:/home/username

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)4

在上面的示例中,我将local.txt文件從當前目錄複制到abhishek遠程系統上用戶的主目錄。

然後我登錄到遠程系統以顯示該文件實際上已被複制。

也可以複制目錄

還記得我告訴過你我喜歡 scp 因為它與 cp 命令相似嗎?

與 cp 命令一樣,您也可以使用 scp 通過 SSH 複制目錄,語法也類似于 cp 命令。您隻需要使用該-r選項。

scp -r source_dir username@ip_address:/home/username/target_dir

方法 二:使用 rsync 通過 SSH 複制文件和目錄

由于 scp 已被棄用, rsync 是通過 SSH 在遠程系統之間複制文件的下一個最佳工具,實際上,它在許多方面都比 scp 好。

命令語法與 scp 相同,必須使用舊版本的 rsync,rsync -e ssh但現在不再如此。

将文件從遠程機器複制到本地機器

假設您要将文件從遠程系統上用戶的主目錄複制到本地登錄系統的當前目錄。

rsync username@ip_address:/home/username/filename .

讓我們以您在 scp 中看到的相同示例為例,我正在将文件remote.txt從/home/abhishek/my_file遠程系統上的目錄複制到本地機器的當前目錄。

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)5

将文件從本地機器複制到遠程機器

這是一個通用語法,它将文件複制到遠程系統上用戶名的主目錄。

rsync filename username@ip_address:/home/username

是時候看看現實世界的例子了,我正在将local.txt文件從當前目錄複制到abhishek遠程系統上用戶的主目錄。

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)6

用 rsync 複制目錄怎麼樣?

一樣的。隻需使用-rrsync 選項在遠程系統之間通過 SSH 複制整個目錄。

rsync -r source_dir username@ip_address:/home/username/target_dir

看看這個例子,我将整個 my_file 目錄從遠程系統複制到本地系統。

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)7

rsync 是一個多功能工具。它本質上是一個用于在兩個目錄之間“遞歸同步”内容的工具,并且在進行自動備份方面非常流行。

方法 三:使用 SSHFS 通過 SSH 從遠程系統訪問文件

還有可用于訪問遠程文件和目錄的 SSHFS(SSH 文件系統),但是,這對于複制文件并不是很方便。

在這種方法中,您将遠程目錄挂載到本地系統上,挂載後,您可以在挂載目錄和本地系統之間複制文件。

您可能需要先使用發行版的包管理器在本地系統上安裝 sshfs。

在 Debian 和 Ubuntu 上,您可以使用以下命令:

sudo apt install sshfs

在系統上安裝 sshfs 後,您可以使用它來挂載遠程目錄,最好為挂載點創建一個專用目錄。

mkdir mount_dir

現在以這種方式在遠程機器上挂載所需的目錄:

sshfs username@IP_address:path_to_dir mount_dir

挂載後,您可以将文件複制到該目錄或從該目錄複制,就好像它在本地計算機上一樣。

cp local_file mount_dir

請記住,您已安裝此文件,完成工作後,您還應該卸載它:

umount mount_dir

這是一個示例,我将my_file目錄從遠程系統安裝到remote_dir本地系統上的目錄,我将文件複制remote.txt到本地系統,然後卸載目錄。

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)8

方法 四:使用基于 GUI 的 SFTP 客戶端在遠程系統之間傳輸文件

作為最後的手段,您可以使用 FTP 客戶端在遠程和本地系統之間傳輸文件。

FileZilla是最流行的跨平台 FTP 客戶端之一。您可以輕松地安裝在本地系統上。

安裝後,轉到文件->站點管理器并添加遠程系統詳細信息,例如 IP 地址、SSH 端口号、用戶名和密碼。

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)9

連接後,您可以看到一個拆分窗口視圖,左側顯示本地文件系統,右側顯示遠程文件系統。

ssh連接後傳輸文件(通過SSH在遠程和本地系統之間傳輸文件的)10

要傳輸文件,請從左到右或從右到左拖放文件,底部會出現一個進度條。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved