Linux系统的VPS在开通后会获取root权限的账号,但是系统随机生成的密码比较复杂,完全是属于记不住或者输入起来会死人的类型,一般我们为了方便记忆都会改成自己能记得住的密码,然而这是不安全的,今天登录的时候vps的时候就收到提示被人尝试登录了上万次,不由得让人觉得但凡用到密码的地方都只是看似安全。所以,在开通了Linux系统的VPS后,我们有必要对SSH登录做一些基本的安全设置。
这其中利用公钥和私钥就能实现SSH无密码登录。按照如下步骤操作:
1、生成公钥和私钥
Linux系统中绝大部分的发行版都是用OpenSSH,所以生成公钥私钥的时候最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server refused our key错误。
用root登录后运行命令如下。需要注意的是最好是给私钥添加密码,这样即便是被人拿到私钥也还有一重保障
在/root/.ssh/目录下生成了2个文件,id_rsa为私钥,id_rsa.pub为公钥。私钥自己下载到本地电脑妥善保存,公钥则可以任意公开。
2、导入公钥
运行命令如下。
3、更改SSH配置文件
修改SSH的配置文件/etc/ssh/sshd_config,找到下面3行:
将前面的#去掉后保存。
重启SSH服务,运行命令:
service sshd restart
4、制作用于putty的私钥
将VPS上的/root/.ssh/id_rsa下载到本地,利用PUTTYGEN.EXE转换为putty用的ppk文件。
点击File,Load private key,导入/root/.ssh/id_rsa文件。(如果给私钥设置了密码,就还要输入密码才能成功导入)
点击Save private key按钮,生成一个后缀为ppk的文件,比如起名为vultr.ppk,这个文件就是已经制作好的用于putty无密码登录的私钥了,妥善保存。
5、配置putty
最简便的一个方法是创建一个桌面快捷方式,双击即可无密码登录到VPS。
找到putty.exe文件,然后右键创建桌面快捷方式,再到桌面上编辑这个快捷方式,在目标一栏中,修改参数如下。
修改为存放私钥的完整路径,将xxx.xxx.xxx.xxx替换为你的VPS的IP地址即可。
现在,你可以双击建好的putty快捷方式,看看是否已经可以无密码登录了。
6、关闭SSH密码登陆
在上述第5步验证OK后,出于安全需要就可以关闭SSH的密码登录。
修改SSH的配置文件/etc/ssh/sshd_config,找到下面1行:
修改为:
重启SSH服务,运行命令:
service sshd restart
[2018年3月4号更新]如果使用root权限无法登入出现:Server refused public-key signature despite accepting key!的提示,那么就还要关闭不容许root登入,注释掉以下选项即可
#PermitRootLogin no
搞定,收工。至此,就只能用私钥登录到VPS了,安全性大大增强了。最后,一定要保存好私钥!!!
暂无评论