版權聲明:本文為博主原創文章,未經允許不得轉載。
在平常的工作中經常在兩個服務器之間傳輸文件,而且經常從本地遠程登錄服務器,每次都要輸入密碼顯然很沒效率,這時候該怎么辦呢?
首先假設服務器A和B,要想實現從A向B復制文件或者從B獲取文件,也就是: scp -r "some files in A" B:/somewhere 或者 scp -r B:/somewhere/somefiles "somewhere in A"
按照下列步驟設置:
1. 在A中執行命令:
ssh-keygen -t rsa -P ""
這會在 ~/.ssh 目錄下生成兩個文件:id_rsa 和 id_rsa.pub
2. 拷貝A的id_rsa.pub到B:
scp ~/.ssh/id_rsa.pub yliu@192.168.200.1:/home/yliu
3. 登錄B,並把id_rsa.pub輸入到B的authorized_keys文件中:
cat /home/yliu/id_rsa.pub >> /home/yliu/.ssh/authorized_keys
大功告成!此時在復制文件就無需輸入密碼了。而且,在A中ssh登錄B也無需密碼了。
反之亦然,在B中設置A的免密碼登錄完全一樣,在此不做贅述。
2019.06.11更新
最近需要在兩個服務器之間傳輸文件,(其中一個服務器用一個key file登錄)用如下命令:
scp -i file-of-key file-to-copy username@XX.XXX.XX.XXX:/path/of/destination