< 返回新聞公共列表

SCP Linux命令:如何通過SSH將文件從遠(yuǎn)程傳輸?shù)奖镜兀?/h3> 發(fā)布時間:2023-06-25 15:21:37

當(dāng)涉及到在Linux等操作系統(tǒng)中共享數(shù)據(jù)時,我們可以選擇多種命令來共享信息。下面,我們將重點討論SCP命令,如何

通過SSH將文件從遠(yuǎn)程傳輸?shù)奖镜兀?/span>


SCP Linux命令:如何通過SSH將文件從遠(yuǎn)程傳輸?shù)奖镜兀?png


一、什么是SCP命令?

SCP是安全復(fù)制協(xié)議的縮寫。它是一個命令行實用程序,允許用戶在兩個位置(通常是UNIX或Linux系統(tǒng)之間)之間安

全地復(fù)制文件和目錄。該協(xié)議確保文件傳輸經(jīng)過加密,以防止任何有可疑意圖的人獲取敏感信息。簡而言之,我們可以

說SCP是cp( copy )命令的更安全選項。還需要注意的是,SCP通過SSH(安全外殼)連接使用加密,這可確保傳輸?shù)臄?shù)

據(jù)免受可疑攻擊。


二、SCP語法

就像終端中使用的任何其他命令一樣,SCP也有一種用于成功執(zhí)行的格式。通過理解語法,我們可以更輕松地寫下命令:

scp [OPTIONS] [[user@]src_host:]file1 [[user@]dest_host:]file2

scp-它初始化命令并確保安全shell就位。

OPTIONS-他們根據(jù)使用方式授予不同的權(quán)限。一些最常見的選項包括:

P(大寫)-指定與遠(yuǎn)程主機(jī)建立連接的端口。

p(小寫)-保留時間戳以便于修改和訪問。

r -遞歸復(fù)制整個目錄

q -安靜地復(fù)制文件,不顯示進(jìn)度消息,也稱為安靜模式。

C -用于在傳輸過程中壓縮數(shù)據(jù)。

src_host-文件的托管位置。源可以是客戶端或服務(wù)器,具體取決于文件的來源。

dest_host-文件將被復(fù)制到的位置。

由于我們正在處理文件傳輸,這意味著必須有不止一臺機(jī)器的參與才能使該過程成為可能。我們可以在以下情況下使用

SCP:

在同一臺機(jī)器上復(fù)制文件。

將文件從本地主機(jī)復(fù)制到遠(yuǎn)程主機(jī),反之亦然。

在兩個不同的遠(yuǎn)程服務(wù)器之間復(fù)制文件。

此時,在使用任何SCP命令之前,需要準(zhǔn)備好一些東西:

客戶端和服務(wù)器上都安裝了SSH。

對客戶端和服務(wù)器計算機(jī)的根訪問權(quán)限。


三、常用SCP命令

1、將文件從本地主機(jī)復(fù)制到遠(yuǎn)程服務(wù)器

復(fù)制文件時,能夠?qū)⑽募?數(shù)據(jù)從本地存儲傳輸?shù)竭h(yuǎn)程服務(wù)器是非常重要的。使用SCP命令時,需要指定一些事情才能發(fā)生

這種情況。

我們必須指定文件的路徑作為源,并指定文件復(fù)制到的遠(yuǎn)程主機(jī)路徑。

讓我們假設(shè)一個場景,我們有一個文件test.txt,我們需要將其復(fù)制到遠(yuǎn)程服務(wù)器,我們的命令如下所示:

scp test.txt userbravo@destination:/location2

我們不限制可以復(fù)制的文件數(shù)量。假設(shè)我們位于桌面上名為web的文件夾中,其中有.php文件擴(kuò)展名,并且需要將其復(fù)制

到遠(yuǎn)程服務(wù)器主目錄。我們的命令將如下所示:

scp *.php userbravo@destination_host:/~/

*.php -復(fù)制當(dāng)前指定文件夾中擴(kuò)展名為.php的所有文件。

/~/ - 表示將它們復(fù)制到主目錄。

假設(shè)我們想復(fù)制一個名為test.txt的文件,并使用端口選項將其以不同的名稱保存在遠(yuǎn)程服務(wù)器中。該命令將是:

scp -P 8080 test.txt userbravo@destination_host:/user/home/test2.txt

在此示例中,我們將文件test.txt從本地計算機(jī)復(fù)制到遠(yuǎn)程計算機(jī),并使用端口8080將其保存為test2.txt。

2、將文件從遠(yuǎn)程復(fù)制到本地

理解這一點的更好方法是使用示例。考慮一個我們想要從遠(yuǎn)程系統(tǒng)復(fù)制文件的場景。要復(fù)制文件,我們需要首先調(diào)用

SCP,然后是遠(yuǎn)程用戶名@IP 地址、文件路徑。

如果不指定路徑,則在這種情況下假定默認(rèn)為用戶的主目錄,這將遵循文件在本地存儲的路徑。語法:

scp <remote_username>@<IPorHost>:<PathToFile>   <LocalFileLocation>

假設(shè)我想從地址為192.168.1.100的遠(yuǎn)程設(shè)備復(fù)制一個名為linuxcheatsheet的文件。

linuxcheatsheet文件存儲在kali用戶的主目錄中,我將驗證該用戶。因此,在冒號之后,我不需要指定路徑,因為它是

默認(rèn)路徑,即主目錄,我只需鍵入文件名(“l(fā)inuxcheatsheet”)。然后,我通過鍵入一個點將當(dāng)前目錄指定為存儲文

件的本地位置。

scp lary@192.168.1.100:linuxcheatsheet .

3、將文件從遠(yuǎn)程主機(jī)復(fù)制到另一臺主機(jī)

在文件傳輸中使用SCP的優(yōu)點在于,它不僅允許本地計算機(jī)之間的連接,還允許您連接到遠(yuǎn)程服務(wù)器。

假設(shè)我們想要將名為test.txt的文件復(fù)制到另一個遠(yuǎn)程服務(wù)器,命令如下所示:

scp user1@host1.com:/files/test.txt user2@host2.com:/files

此命令將執(zhí)行的操作是從user1的文件夾中復(fù)制test.txt,并在user2 中創(chuàng)建它的副本,該副本仍在該文件夾中的

host2.com上運行。

4、復(fù)制多個文件

復(fù)制多個文件時,只需指定文件名作為源路徑即可。例如語法:

scp file1 file2 ... user@<ip_address_of_user>: Destination

假設(shè)我們想要復(fù)制文件 1、2、3 和 4。命令如下所示:

scp file1.txt file2.txt file3.txt file4.txt user1@host1.com:/home/user1/Desktop


總結(jié)要點:

1、為了能夠復(fù)制文件,我們必須具有源文件的讀取權(quán)限和目標(biāo)系統(tǒng)的寫入權(quán)限。

2、SCP命令依賴SSH進(jìn)行安全數(shù)據(jù)傳輸,這意味著它需要密碼才能在遠(yuǎn)程系統(tǒng)上進(jìn)行身份驗證。

3、復(fù)制具有相同名稱和位置的文件時要小心,因為SCP會在不警告您的情況下覆蓋它們。

4、為了能夠區(qū)分本地和遠(yuǎn)程位置,請使用完整的冒號:。


/template/Home/Zkeys724/PC/Static