使用SSH Keys(安全密钥)登录远程服务器,可以有效防止root密码被盗而保障服务器的安全性。不过,现在大多用户本地电脑安装的Windows系统,而不同于Linux、MacOS系统,Windows系统没有自带SSH客户端,所以要想通过SSH Keys登录的话,需要借助Putty的PuTTYgen生成一对密钥来实现,下面介绍具体的创建生成方法。
首先需要下载PuTTY和PuTTYgen工具,就是.msi后缀结尾的压缩包,32位操作系统选择32-bit,64位操作系统选择64-bit。
下载地址:www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下载好之后,双击打开puttygen.exe文件,具体运行的界面类似下图所示的界面。默认的为RSA类型以及2048长度,当然也可以自定义选择加密类型以及设置密钥的长度,建议最好设置长一些,设置好之后,单击右边的“Generate”按钮即可:
在生成秘钥的过程中可能会提示您“generate some randomness by moving the mouse over the blank area(通过移动鼠标到空白区域来生成随机性的字符)”,这种随机性被称为无序状态,用于以安全的方式创建密钥,从而让其他人无法复制。
密钥生成之后,将会看到以ssh-rsa开头显示的公钥,这样复制好,然后添加到服务器上的文件中就行了。
公钥和私钥是协同工作的,所以一定要导出私钥并保存好,导出私钥默认是为.ppk扩展名。导出的过程中,系统将会提示输入SSH密钥的密码,主要就是使用它来提高安全性,防止被盗用。密码设置好之后,以后每次使用此密钥时都需要提供密码才可以,所以强烈建议大家设置一个。
接下来,打开Putty软件,使用SSH Key登录的时候,先选择Connection–>SSH–>Auth,然后导入刚刚保存的私钥文件即可。
最后回到hostname界面,输入用户名@IP,点击Open即可登录远程服务器,如下图所示:
需要注意的是,以上本地保存的私钥文件,当然也可以保存公钥文件(public key),不过PuTTYGen在保存公钥时使用的格式与OpenSSH authorized_keys文件格式不兼容。所以,在私钥保存之后,如果想要以正确的格式查看公钥的话,需要执行以下几个步骤:
1、打开PuTTYgen软件;
2、在紧邻Load an existing private key file菜单旁边单击Load按钮;
3、导航到私钥文件并选择它;
4、点击Open按钮打开即可。
MacOS或Linux操作系统上安装SSH Keys可以参考:DigitalOcean云服务器创建生成SSH Keys(安全密钥)详细方法教程。