簡介
scp就是secure copy,是用來進行遠程文件拷貝的。數據傳輸使用ssh1,並且和ssh1使用相同的認證方式,提供相同的安全保證。
scp只要通過sshd服務進行通訊,而且要求兩端都有scp這個命令。
用法
scp [-pqrvBC1246] [-F ssh_config] [-S program] [-P port] [-c cipher] [-i identity_file] [-l limit] [-o ssh_option] [[user@]host1:]file1 [...] [[user@]host2:]file2
常用方式
複製一個文件到遠程主機
scp file 192.168.1.100:/tmp/
如果不指定用戶名, 默認是跟當前的用戶名是一樣,如果是需要制定用戶直接是root@192.168.1.100;埠默認是ssh_config配置的埠(默認是22),如果IP後面不加路徑,默認就是用戶的家目錄。
複製一個文件夾
scp -r dir1 192.168.1.100:/tmp/
複製目錄需要添加一個-r參數,來遞歸複製。
注意:這裡的目錄中的軟連結,如果是目錄打軟連結,會被當成正常的目錄,複製所有打文件到遠程,導致軟連結都消失了。
拷貝多個文件或者目錄
scp -r dir1 dir2 file1 file2 192.168.1.100:/tmp/
只要把目標放到最後,中間的文件目錄都會被拷貝到遠程的/tmp目錄。
限速拷貝
scp -l 102400 -r dir 192.168.1.100:/tmp
-l 參數的單位是:Kbit/s,限速可以防止拷貝文件佔用帶寬,導致正常的服務出現異常。
自定義埠
scp -l 102400 -r -P 2222 dir root@192.168.1.100:/tmp
為了安全一點,有些ssh服務不使用默認埠了,這時候拷貝文件就需要指定埠,用-P這個參數(是大寫的P)
指定密鑰
scp -i /data/id_rsa -r dir root@192.168.1.100:/tmp
有些情況,是直接使用密鑰進行驗證的,如果不是本機默認打key,需要使用-i指定一下密鑰打路徑。
指定ssh_config配置文件
scp -F /data/ssh_config -r dir root@192.168.1.100:/tmp
scp調用的是ssh_config,有時候,我們自定義打一些參數,比如自動接受key之類的參數,又不想影響系統本身自帶的配置。這時候就需要-F制定一下ssh客戶端的配置。默認加載的是/etc/ssh/ssh_config
總結
scp使用起來簡單方便,但是對於軟連結的處理不是很人性化。可以先使用tar打包,然後再進行拷貝。
tar zcvf file.tar.gz dir1 file
scp file.tar.gz 192.168.1.100:/tmp/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.