这个世界上好人很多,坏人也不少,做人总要防着点,如果你稍微熟悉点linux操作命令,那么请查看你vps的登陆日志,里面会充斥着来自全世界ip的难以计数的登陆失败提示,是的,你的vps一直有人在进行爆破登陆,或者说,有人总在想办法打开你家的锁。是不是有些吃惊?所以每个vps初学教程里面都会一再强调请设置一个高强度的密码。

但是,不怕万一就怕一万,要是你的密码被无意中破解了怎么办?这可是大事不妙啊。所以,让我来给你们介绍一种更安全的认证登陆方式——sshkey密钥登陆。这个类似淘宝的证书登陆之类的,高强度的随机密钥,基本上可以确保一切万无一失。

一.生成密钥

虽然puttygen(putty组件)也有这个功能,但是我一般习惯于使用xshell来实现,因为不需要额外的配置sshkey-agency进行后台监听,也不用另外导入。xshell这个软件对于非商业用途是免费的,而且功能并没有被阉割,大家可以去它的官网下载。

按照如下步骤我们生成密钥

xshell-sshkey-guide

密钥的长度越长强度越大,但是过长也会有不少问题,比如许多主机商的在线添加sshkey不支持等等问题,建议2048或者4096位

xshell-sshkey-guide-2

名字随意,加密密码就看你了,如果密钥被人窃取(复制),那么密码是你最后一道防线

xshell-sshkey-guide-3

现在我们已经创建完了密钥,如何将其导入vps并关闭密码登陆呢?

二.导入密钥并关闭密码登陆

将如下位置内容复制粘贴,然后退出编辑

xshell-1

选中你的密钥点击属性

xshell-2

复制粘贴

xshell-3

运行如下命令对公钥进行权限修改

后面两条命令主要是针对centos的selinux安全设置进行修改,防止公钥无法生效

接着我们修改ssh登录配置文件

把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉。然后将PasswordAuthentication yes改成no。

最后我们重启ssh进程

三.使用sshkey登录

添加连接,在用户身份验证中的验证方法下拉菜单里选中Public Key

xshell-sshkey-guide-4

用户名一般是root,如果为了安全不用root登录的话那么之前创建公钥文件的位置也要进行相应的修改,将其创建到用户目录即可。如果之前设置了密码,这里也要输入。

xshell-sshkey-guide-5

然后保存连接,我们就能登录了。

最后简单提一下,flashfxp等支持sftp的文件管理工具一般也都支持密钥登陆,将xshell中的密钥导出然后再导入相应软件,最后设置验证方式即可。


Senraの小窝原创文章,转载请注明来自:你服务器真正的钥匙——sshkey密钥登陆