scp

傳送單一檔案

scp path/file_name user@server_host:/path/target_directory

傳送資料夾內所有檔案以及子資料夾

scp -r path/directory user@server_host:/path/target_directory

rsync

rsync比scp好用,最主要是因為他有exclude的功能,可以依檔案名稱過濾掉不想傳送的檔案。

過濾單一檔案名稱

rsync -av --exclude='不傳送的檔案名稱' . server_host:/path/target_directory

根據檔案名單過濾, 例如.gitignore

rsync -av --exclude-from='.gitignore' . server_host:/path/target_directory

 

SSH Key設定

每次傳送時都需要輸入使用者密碼,但在很多script內並不能輸入密碼,所以我們可以使用ssh認證,就不能再輸入密碼拉!

MacOS, linux產生SSH KEY

#產生ssh key
ssh-keygen

Generating public/private rsa key pair.
#輸入儲存key的位置
Enter file in which to save the key (/Users/schacon/.ssh/id_rsa): 
#輸入密碼,空值為不設密碼
Enter passphrase (empty for no passphrase):
#再輸入密碼一次
Enter same passphrase again:
Your identification has been saved in /Users/schacon/.ssh/id_rsa.
Your public key has been saved in /Users/schacon/.ssh/id_rsa.pub.
The key fingerprint is: 43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a schacon@agadorlaptop.local 
Windows產生SSH KEY

1. 下載PuTTYgen, PuTTYgen是一套可以產生金鑰的工具,它可生成 RSA 以及 DSA 的金鑰, 做出來的公開以及私有金鑰,可以用於 PuTTY 、 PSCP 、 Plink 以及 Pageant

2. 打開PuTTYgen,並且按下Generate

3. 滑鼠在紅色框框區域亂滑動

4. 成功產生ssh key,並且儲存public key以及private key

 

將public key 加入server ~/.ssh/authorized_keys

authorized_keys可加入多組public key

cat id_rsa.pub >> .ssh/authorized_keys

加入key的時候可能有些權限問題

● /.ssh 目錄權限需要為 700 
● authorized_keys 權限需要為 644
sudo chmod -r ~/.ssh 700
sudo chmod authorized_keys 644

 

參考資料 : scp, rsync





arrow
arrow
    文章標籤
    scp rsync d
    全站熱搜

    橘子亂說話 發表在 痞客邦 留言(0) 人氣()