1. 程式人生 > >詳解Linux下SSH遠端檔案傳輸命令scp

詳解Linux下SSH遠端檔案傳輸命令scp

一:Linux ssh scp的簡介及作用:

在日常linux伺服器操作中,傳輸檔案是必不可少的操作。以前章郎蟲一直用他來翻牆,可以算是偏門,今天介紹SSH的正途啦。。。

scp就是secure copy的簡寫,用於在linux下進行遠端拷貝檔案的命令,和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨伺服器. 有時我們需要獲得遠端伺服器上的某個檔案,該伺服器既沒有配置ftp伺服器,也沒有做共享,無法通過常規途徑獲得檔案時,只需要通過簡單的scp命令便可達到目的。

二、Linux ssh scp 的使用方法

1:將本機檔案複製到遠端伺服器上

/home/test/ 本地檔案的絕對路徑;

item.txt 要複製到伺服器上的本地檔案 ;

root 通過root使用者登入到遠端伺服器(也可以使用其他擁有同等許可權的使用者) ;

192.168.1.129 遠端伺服器的ip地址(也可以使用域名或機器名) ;

/etc/test將本地檔案複製到位於遠端伺服器上的路徑 ;

如圖通過root使用者登入遠端伺服器,輸入yes表示同意建立ssh連線 ;

按提示輸入root使用者的密碼 ;

如圖所示建立連線後開始傳輸檔案,顯示百分比、實際時間和傳送速度等資訊 ;

2:將本地目錄上傳到遠端伺服器上:

-r 引數表示遞迴複製(即複製該目錄下面的檔案和目錄);/home/test/表示準備要上傳的目錄,[email protected]:/etc/test

 表示使用root使用者登入遠端伺服器,:/etc/test 表示儲存在遠端伺服器上的目錄位置。

3、將遠端伺服器上的檔案複製到本機

#scp [email protected]:/usr/local/sin.sh /home/test

remote 通過remote使用者登入到遠端伺服器(也可以使用其他擁有同等許可權的使用者)

www.abc.com 遠端伺服器的域名(當然也可以使用該伺服器ip地址)

/usr/local/sin.sh 欲複製到本機的位於遠端伺服器上的檔案

/home/testr 將遠端檔案複製到本地的絕對路徑

4、將遠端伺服器上的目錄複製到本機

# scp-r  [email protected]

:/user/local/  /home/test/

r 引數表示遞迴複製(即複製該目錄下面的檔案和目錄);[email protected] 表示使用root使用者登入遠端伺服器www.vpser.net ,:/user/local/ 表示遠端伺服器上的目錄,最後面的/home/test/表示儲存在本地上的路徑。

5、可能有用的幾個引數 :

-v 和大多數 linux 命令中的 -v 意思一樣 , 用來顯示進度 . 可以用來檢視連線 , 認證 , 或是配置錯誤 .

-C 使能壓縮選項 .

-4 強行使用 IPV4 地址 .

-6 強行使用 IPV6 地址
注意兩點:
1.如果遠端伺服器防火牆有特殊限制,scp便要走特殊埠,具體用什麼埠視情況而定,命令格式如下:
#scp -p 4588 [email protected]:/usr/local/sin.sh /home/administrator
2.使用scp要注意所使用的使用者是否具有可讀取遠端伺服器相應檔案的許可權。