SSH 主要有兩種登錄方式,一種是密碼的登錄方式,另一種就是免密的公鑰登錄方式。
第一種硬密碼的登錄方式有很多弊端:
1:手打密碼遠程連接服務器這種方式很不安全,尤其是有新的運維人員要使用服務器時,告知硬密碼是十分容易導致密碼泄露的。
2:在做一些集羣部署的時候,向遠程服務器發送腳本並執行自動化部署腳本時,這個過程每臺就要多次輸入密碼,就不說上百臺,光是幾十臺就很噁心了,還浪費時間。
由此可見,使用ssh免密登錄就顯得非常必要了。
配置方法:
1. 首先本地主機運行命令生成RSA非對稱加密的密鑰,RSA加密是安全級別非常高的加密方式,據說暴力破解去嘗試所有可能的密碼至少都要50年以上。
>> ssh-keygen (有提示時全部按回車就可以)
>> ssh-copy-id 192.168.1.12 (這裏的地址輸入的是要遠程免密登錄的服務器IP地址)
這樣你就可以免密登錄遠程服務器了。
當然,可能部分人沒有安裝ssh-client包,無法執行ssh-copy-id命令,可以先把公鑰發到你的目標服務器,然後遠程登錄到你準備要免密登錄的目標服務器,手動把密鑰對的公鑰加入到ssh的密鑰驗證文件中
本地服務器把公鑰拷到遠程服務器上
scp ~/.ssh/id_rsa.pub XX@yourip
目標服務器
>> mkdir -m 700 ~/.ssh
>> touch ~/.ssh/authorized_keys
>> cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
>> chmod 600 ~/.ssh/authorized_keys
至此全部配置就完了,最重要的是保證.ssh文件夾是權限700,authorized_keys文件權限是600.
當你再次ssh XXX@yourip,你就不用再輸入密碼了