SSH簡介
SSH是一個專為遠程登錄會話和其他網絡服務提供安全性的協(xié)議。默認狀態(tài)下SSH鏈接是需要密碼認證的悄雅,可以通過添加系統(tǒng)認證(即公鑰-私鑰)的修改冤狡,修改后系統(tǒng)間切換可以避免密碼輸入和SSH認證,同時可以實現(xiàn)跨賬號間的無密碼登錄飞蹂。
公鑰認證的基本思想
對信息的加密和解密采用不同的key,這對key分別稱作private key和public key翻屈,其中陈哑,public key存放在欲登錄的服務器上,而private key為特定的客戶機所持有伸眶。
當客戶機向服務器發(fā)出建立安全連接的請求時惊窖,首先發(fā)送自己的public key,如果這個public key是被服務器所允許的厘贼,服務器就發(fā)送一個經過public key加密的隨機數(shù)據(jù)給客戶機界酒,這個數(shù)據(jù)只能通過private key解密,客戶機將解密后的信息發(fā)還給服務器嘴秸,服務器驗證正確后即確認客戶機是可信任的毁欣,從而建立起一條安全的信息通道庇谆。
通過這種方式,客戶機不需要向外發(fā)送自己的身份標志“private key”即可達到校驗的目的凭疮,并且private key是不能通過public key反向推斷出來的饭耳。這避免了網絡竊聽可能造成的密碼泄露】蕹ⅲ客戶機需要小心的保存自己的private key哥攘,以免被其他人竊取,一旦這樣的事情發(fā)生材鹦,就需要各服務器更換受信的public key列表逝淹。
使用ssh-keygen生成公鑰
在特定的客戶機上執(zhí)行ssh-keygen,期間會提示輸入密碼桶唐,為了使用無密碼登錄栅葡,一直按回車即可。最后會在.ssh文件夾下生成id_rsa和id_rsa.pub文件尤泽,一個是私鑰欣簇,另一個是公鑰。
將生成的公鑰文件id_rsa.pub的內容追加到欲登錄的服務器的.ssh/authorized_keys中
設置authorized_keys文件權限:chmod?600?authorized_keys
設置.ssh文件夾權限:chmod?700?-R?.ssh
此時坯约,就可以在客戶機上使用ssh直接無密碼登錄到欲登錄的服務器上熊咽。
注意
1、如果要使用賬號A進行無密碼登錄闹丐,只能在賬號A下生成公鑰和私鑰横殴。同時,如果想使用賬號B登錄到欲登錄的服務器上卿拴,只能把公鑰放在賬號B下的.ssh/authorized_keys才能生效衫仑;
2、文件和目錄的權限千萬別設置成chmod 777堕花。這個權限太大文狱,不安全,數(shù)字簽名也不支持缘挽。