使用SCP命令在遠程VPS和本地之間進行文件傳輸

1 什麼是scp

scp就是secure copy,是用來進行遠程文件拷貝的。數據傳輸使用 ssh,而且和ssh 使用相同的認證方式,提供相同的安全保證。scp在須要進行驗證時會要求你輸入密碼或口令。html

2 實際操做

2.1 下載VPS的文件(目錄)到本地

假設須要將VPS上的一個文件下載到本地,文件路徑是/root/test.log,VPS的IP地址是12.34.56.78,VPS的帳戶名是root,SSH端口是6666(默認22),咱們將這個文件下載到本地的/Users/admin/root/test.log,咱們再分兩種狀況討論。git

2.1.1 使用帳號密碼鏈接VPS

那麼咱們須要執行的scp命令是github

scp -P 6666 root@12.34.56.78:/root/test.log /Users/admin/root/test.log

scp支持對整個目錄進行操做,例如將上述root目錄下載到本地安全

scp -P 6666 root@12.34.56.78:/root /Users/admin/root

執行scp命令後須要輸入VPS上對應帳戶的密碼ssh

2.1.2 使用.pem證書鏈接VPS

下載單個文件的命令爲spa

scp -i /Users/admin/example.pem root@12.34.56.78:/root/test.log /Users/admin/root/test.log

.pem證書的地址記得改爲你本身的。code

下載整個目錄的命令爲:htm

scp -i /Users/admin/example.pem root@12.34.56.78:/root /Users/admin/root

2.2 上傳本地的文件(目錄)到VPS

假設須要將本地的一個文件上傳到VPS,本地文件的路徑是/Users/admin/root/test.log,VPS的IP地址是12.34.56.78,VPS的帳戶名是root,SSH端口是6666(默認22),咱們將這個文件上傳到VPS的/root/test.log,也分兩種狀況討論get

2.2.1 使用帳號密碼鏈接VPS

那麼咱們須要執行的scp命令是文件上傳

scp -r -P 6666 /Users/admin/root/test.log root@12.34.56.78:/root/test.log

同理,也能上傳整個目錄

scp -r -P 6666 /Users/admin/root root@12.34.56.78:/root

2.1.2 使用.pem證書鏈接VPS

上傳單個文件的命令爲

scp -r -i /Users/admin/example.pem /Users/admin/root/test.log root@12.34.56.78:/root/test.log

上傳整個目錄的命令爲:

scp -r -i /Users/admin/example.pem /Users/admin/root root@12.34.56.78:/root

3 可能遇到的問題

  • 本地沒有生成SSH Key致使鏈接認證失敗

本文內容部分借鑑自http://celerysoft.github.io/2016-07-07.html

相關文章
相關標籤/搜索