在工做當中常常會登陸遠程服務器安裝軟件、部署應用或者拷貝文件到遠程服務器上,都會提示輸入密碼才能完成相關的操做。工做中若是要頻繁登陸服務器和拷貝文件的狀況下,常常輸入密碼不免會以爲麻煩,且效率低下。並且在持續集成的場景下,自動部署應用時是沒有人工干預的,這種狀況若是要輸入密碼才能拷貝文件至遠程服務器,就不能實現自動部署的功能了。下面以A服務器與B服務器雙向實現免密碼登陸和拷貝文件爲例,介紹相關的配置。
A服務器地址:192.168.1.200,下面簡稱A
B服務器地址:192.168.1.201,下面簡稱Bbash
ssh-keygen -t rsa
執行上述命令,一路回車,會在當前登陸用戶的home目錄下的.ssh目錄下生成id_rsa和id_rsa.pub兩個文件,分別表明密鑰對的私鑰和公鑰。服務器
這裏拷貝到B的root用戶home目錄下爲例:ssh
scp /root/.ssh/id_rsa.pub root@192.168.1.200:/root
拷貝A的id_rsa.pub內容到.ssh目錄下的authorized_keys文件中spa
cd /root cat id_rsa.pub >> .ssh/authorized_keys
ssh root@192.168.1.201 scp abc.txt root@192.168.1.201:/root
實現B免密碼登陸A,操做方式是同樣的,在B中用ssh-keygen生成ssh密鑰對,將公鑰拷貝到A中,A將B的公鑰拷貝到.ssh目錄下的authorized_keys文件中便可。code
快捷方式部署
ssh-copy-id -i ~/.ssh/id_rsa.pub root@服務器地址
若是命令ssh-copy-id命令不存在,那是當前系統沒有安裝openssh-clients客戶端組件,能夠經過以下命令安裝:持續集成
yum install openssh-clients*