原文地址:https://www.zxc.so/do-ssh-key.html
管理VPS的方法就是使用SSH,但是每次登錄都要輸入密碼很麻煩,而且還有可能被鍵盤記錄木馬記錄,這個服務器安全帶來很大威脅。所以,SSH Key也就是密鑰成爲了登錄VPS最便捷、安全的方法。紅帽的OpenShift可以直接添加SSH Key,而DigitalOcean與OpenShift會有所不同,今天我就來介紹DigitalOcean的SSH Key的添加和使用。
首先我們要下載PuTTY Key Generator和PuTTY(千萬只在官網下載,其他的地方下載可能都會有後門,而服務器這麼關鍵的設施,不能因爲軟件下載的地方不對而給人入侵了。。。),如果還需要使用SSH上傳文件的同學,還需要下載一個WinSCP。
創建和添加SSH Key到Droplet
第一步,打開PuTTY Key Generator,Parameters選擇SSH-2 RSA,點擊Generate。(如圖一)
圖一然後軟件會顯示Please generate some randomness by moving mouse over the blank area,意思是用鼠標在軟件區域內隨意移動來生成隨機的密鑰(如圖二)
圖二隨後公鑰(存放在服務器用於驗證私鑰)和密鑰(如與公鑰匹配則可通過認證)都生成成功了,首先複製上方的公鑰代碼(如圖三藍色區域),注意:複製完千萬不要關閉窗口
圖三接下來登錄DigitalOcean的控制面板,進入SSH Keys選項卡,點擊Add SSH Key(如圖四)
圖四進入添加界面後爲Key取個名字,然後將剛剛複製的公鑰(Public Key)粘貼到下方的輸入框,點擊CREATE SSH KEY(如圖五)
圖五注意:添加的SSH Key只能用於新創建的Droplet的root用戶,對於已創建的Droplet或者其他用戶的,我以後會寫文章說明。
隨後點擊最頂部的CREATE(如圖六)
圖六在填好Droplet的各項信息之後,在Add optional SSH Keys的選項選擇你剛剛創建的那個SSH Key(如圖七)
注意:使用SSH Key新建的Droplet不會發送root密碼,建議用Key登錄之後使用passwd命令修改root密碼(密碼強度建議:長度24位以上,大小寫字母,數字,特殊符號混合),以備不時之需(如Key不在身旁等等)
圖七然後回到PuTTY Key Generator的界面,點擊下方的Save private key,選擇路徑保存你的私鑰,然後就能使用SSH Key登錄VPS了!(如圖八),注意:不要保存在公用電腦上,任何持有私鑰的人都能合法登錄VPS。
圖八PuTTY使用SSH Key登錄VPS流程
首先打開PuTTY軟件,輸入root@服務器IP和端口(一般爲22),然後點擊SSH》Auth(如圖九)
圖九然後在Private key file for authentication選項選擇你的SSH私鑰的路徑(後綴爲.ppk)(如圖十)。然後記得回到登陸頁點擊Default Settings》Save保存設置
圖十然後點擊Open就能自動登錄了,全程自動化,完全不需要輸入任何東西。(圖十一爲登錄成功界面)
圖十一WinSCP使用SSH Key登錄VPS流程
WinSCP是像FTP一樣使用SSH管理文件的軟件,配置方法和PuTTY大同小異,而且下面的圖也標註的很清楚,我也就不再一一贅敘了。
圖十二:WinSCP登錄賬號配置
圖十二圖十三:WinSCP選擇SSH Key
圖十三圖十四:WinSCP使用SSH Key成功登錄
圖十四事關安全
用SSH Key登錄應該來說是比較安全的,但是如果私鑰泄露,那將帶來不可估量的損失,所以保管好私鑰,保證私鑰儲存的環境是安全的很重要,同時也可以爲SSH開啓二步驗證,這樣即使私鑰泄露,黑客也無法入侵,關於配置SSH二步驗證的教程,將會在近期發佈,敬請關注!