原文地址: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。
PuTTY Key Generator官方下载地址
PuTTY官方下载地址
WinSCP官方下载地址
第一步,打开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软件,输入root@服务器IP和端口(一般为22),然后点击SSH》Auth(如图九)
图九然后在Private key file for authentication选项选择你的SSH私钥的路径(后缀为.ppk)(如图十)。然后记得回到登陆页点击Default Settings》Save保存设置
图十然后点击Open就能自动登录了,全程自动化,完全不需要输入任何东西。(图十一为登录成功界面)
图十一WinSCP是像FTP一样使用SSH管理文件的软件,配置方法和PuTTY大同小异,而且下面的图也标注的很清楚,我也就不再一一赘叙了。
图十二:WinSCP登录账号配置
图十二图十三:WinSCP选择SSH Key
图十三图十四:WinSCP使用SSH Key成功登录
图十四用SSH Key登录应该来说是比较安全的,但是如果私钥泄露,那将带来不可估量的损失,所以保管好私钥,保证私钥储存的环境是安全的很重要,同时也可以为SSH开启二步验证,这样即使私钥泄露,黑客也无法入侵,关于配置SSH二步验证的教程,将会在近期发布,敬请关注!