Linux SSH免密碼登錄與拷貝文件(SCP)

在工作當中經常會登錄遠程服務器安裝軟件、部署應用或者拷貝文件到遠程服務器上,都會提示輸入密碼才能完成相關的操作。工作中如果要頻繁登錄服務器和拷貝文件的情況下,經常輸入密碼難免會覺得麻煩,且效率低下。而且在持續集成的場景下,自動部署應用時是沒有人工干預的,這種情況如果要輸入密碼才能拷貝文件至遠程服務器,就不能實現自動部署的功能了。下面以A服務器與B服務器雙向實現免密碼登錄和拷貝文件爲例,介紹相關的配置。
A服務器地址:192.168.1.200,下面簡稱A
B服務器地址:192.168.1.201,下面簡稱B

1、在A生成密鑰對

ssh-keygen -t rsa

執行上述命令,一路回車,會在當前登錄用戶的home目錄下的.ssh目錄下生成id_rsa和id_rsa.pub兩個文件,分別代表密鑰對的私鑰和公鑰。

2、拷貝A的公鑰(id_rsa.pub)到B

這裏拷貝到B的root用戶home目錄下爲例:

scp /root/.ssh/id_rsa.pub [email protected]:/root

3、登錄B

拷貝A的id_rsa.pub內容到.ssh目錄下的authorized_keys文件中

cd /root
cat id_rsa.pub >> .ssh/authorized_keys

4、此時在A中用SSH登錄B或向B拷貝文件,將不需要密碼

ssh [email protected]
scp abc.txt [email protected]:/root

實現B免密碼登錄A,操作方式是一樣的,在B中用ssh-keygen生成ssh密鑰對,將公鑰拷貝到A中,A將B的公鑰拷貝到.ssh目錄下的authorized_keys文件中即可。

快捷方式

ssh-copy-id -i ~/.ssh/id_rsa.pub root@服務器地址

如果命令ssh-copy-id命令不存在,那是當前系統沒有安裝openssh-clients客戶端組件,可以通過如下命令安裝:

yum install openssh-clients*

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章