< 返回新聞公共列表

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

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

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


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


一、什么是SCP命令?

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

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

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

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


二、SCP語(yǔ)法

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

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

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

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

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

p(小寫(xiě))-保留時(shí)間戳以便于修改和訪問(wèn)。

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

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

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

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

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

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

SCP:

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

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

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

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

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

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


三、常用SCP命令

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

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

這種情況。

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

讓我們假設(shè)一個(gè)場(chǎng)景,我們有一個(gè)文件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ù)制一個(gè)名為test.txt的文件,并使用端口選項(xiàng)將其以不同的名稱保存在遠(yuǎn)程服務(wù)器中。該命令將是:

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

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

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

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

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

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

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

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

linuxcheatsheet文件存儲(chǔ)在kali用戶的主目錄中,我將驗(yàn)證該用戶。因此,在冒號(hào)之后,我不需要指定路徑,因?yàn)樗?/span>

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

件的本地位置。

scp lary@192.168.1.100:linuxcheatsheet .

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

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

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

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

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

host2.com上運(yùn)行。

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

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

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é)要點(diǎn):

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

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

3、復(fù)制具有相同名稱和位置的文件時(shí)要小心,因?yàn)镾CP會(huì)在不警告您的情況下覆蓋它們。

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


/template/Home/Zkeys724/PC/Static