9.2.3 遠程傳輸命令

2022-05-31 11:22 更新

scp(secure copy)是一個基于SSH協(xié)議在網(wǎng)絡(luò)之間進行安全傳輸?shù)拿?,其格式為“scp [參數(shù)] 本地文件 遠程帳戶@遠程IP地址:遠程目錄”。

與第2章講解的cp命令不同,cp命令只能在本地硬盤中進行文件復(fù)制,而scp不僅能夠通過網(wǎng)絡(luò)傳送數(shù)據(jù),而且所有的數(shù)據(jù)都將進行加密處理。例如,如果想把一些文件通過網(wǎng)絡(luò)從一臺主機傳遞到其他主機,這兩臺主機又恰巧是Linux系統(tǒng),這時使用scp命令就可以輕松完成文件的傳遞了。scp命令中可用的參數(shù)以及作用如表9-2所示。

表9-2 scp命令中可用的參數(shù)及作用

參數(shù) 作用
-v 顯示詳細的連接進度
-P 指定遠程主機的sshd端口號
-r 用于傳送文件夾
-6 使用IPv6協(xié)議

在使用scp命令把文件從本地復(fù)制到遠程主機時,首先需要以絕對路徑的形式寫清本地文件的存放位置。如果要傳送整個文件夾內(nèi)的所有數(shù)據(jù),還需要額外添加參數(shù)-r進行遞歸操作。然后寫上要傳送到的遠程主機的IP地址,遠程服務(wù)器便會要求進行身份驗證了。當前用戶名稱為root,而密碼則為遠程服務(wù)器的密碼。如果想使用指定用戶的身份進行驗證,可使用用戶名@主機地址的參數(shù)格式。最后需要在遠程主機的IP地址后面添加冒號,并在后面寫上要傳送到遠程主機的哪個文件夾中。只要參數(shù)正確并且成功驗證了用戶身份,即可開始傳送工作。由于scp命令是基于SSH協(xié)議進行文件傳送的,而9.2.2小節(jié)又設(shè)置好了密鑰驗證,因此當前在傳輸文件時,并不需要賬戶和密碼。

    [root@linuxprobe ~]# echo "Welcome to LinuxProbe.Com" > readme.txt
    [root@linuxprobe ~]# scp /root/readme.txt 192.168.10.20:/home
    root@192.168.10.20's password:此處輸入遠程服務(wù)器中root管理員的密碼
    readme.txt 100% 26 0.0KB/s 00:00

此外,還可以使用scp命令把遠程主機上的文件下載到本地主機,其命令格式為“scp [參數(shù)] 遠程用戶@遠程IP地址:遠程文件 本地目錄”。例如,可以把遠程主機的系統(tǒng)版本信息文件下載過來,這樣就無須先登錄遠程主機,再進行文件傳送了,也就省去了很多周折。

    [root@linuxprobe ~]# scp 192.168.10.20:/etc/redhat-release /root
    root@192.168.10.20's password:此處輸入遠程服務(wù)器中root管理員的密碼
    redhat-release 100% 52 0.1KB/s 00:00 
    [root@linuxprobe ~]# cat redhat-release 
    Red Hat Enterprise Linux Server release 7.0 (Maipo)
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號