我们使用 Linux 服务器不管做网站、项目、服务都需要一个安全性的概念,而默认是使用密码来登录的,普通的项目也就够用了。不过现在网络上鱼龙混杂,各路黑客无时无刻不在撸服务器,用各种软件扫描网络上的弱口令、端口等,为了提高 Linux 服务器的安全我们有必要在 SSH 登录界面设置密钥,提高破解难度,也就相对提高了服务器安全性。
隐藏
一般我们用 SSH 软件登录服务器的时候都是用 root 账号和密码进行连接,其实这样是不安全的,使用 SSH key 和密码同时登录,这样才不会被轻易破解,也就提高了服务器 SSH 登录安全性。本文我们介绍 SSH key 密钥登录 Linux 服务器的配置过程,平时多使用 Xshell SSH 登录,相对来说它的操作界面更友好一些。
生成密钥
1、点击 Xshell 的工具-新建用户密钥生成向导,开始生成密钥。
2、弹出页面的密钥类型和密钥长度默认不要修改,点击下一步,看到程序生成 2048 位 RSA 密钥,点击下一步,输入密钥名称和登录密码。密钥名称随便起一个,密码是用来和密钥一起双重加密的,哪怕密钥被盗了,没有密码还是无法 SSH 登陆到服务器上。
3、点击下一步,把密钥另存为文件保存到本地电脑。这个是公钥。
另外在 Xshell 的工具>>用户密钥管理者里面能够看到对应的私钥,私钥最好导出另存到本地电脑和邮箱中,这点很重要。
上传公钥到 VPS 服务器
1、建立文件夹和文件。创建一个.ssh 目录,这个目录具有隐藏属性。命令如下: 上传密钥文件到服务器。.ssh 目录在 lnmp1.4 中默认存在,且是隐藏属性,路径在/root/.ssh
cd /root/.ssh
用 sftp 软件连接到 VPS 服务器上, 把上面保存在本地电脑的公钥重命名为 authorized_keys,上传到.ssh 目录中,覆盖掉默认文件。
2、设置权限。命令如下:
chmod 700 .ssh
chmod 600 .ssh/authorized_keys
3、编辑 sshd_config 配置文件。命令如下:
vi /etc/ssh/sshd_config
去掉#RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys 前面的#,含义分别是开启 RSA 密钥验证,公钥验证功能,设置公钥验证文件的路径。
把 PasswordAuthentication yes 替换为 PasswordAuthentication no,禁止使用密码登录。
改完后如下图所示就对了。
4、重启 sshd 服务。命令如下:
service sshd restart
5、用密钥连接 VPS 服务器
打开 Xshell 进入连接>>用户身份验证,选择 Public Key,用户密钥选择已经建立好的私钥,输入上面你自己设置的私钥密码。点击连接就可以实现密钥登陆 VPS 服务器了。
为了验证密钥是否生效,接下来我把登陆方法改成 Password 再试,就无法登陆并跳转到密钥登陆界面,说明这时候原来的密码登陆已经失效了,再输入密钥的密码登陆成功。
最后总结
1、为了提高网站、项目、服务器的安全性可以考虑使用密钥登陆方法,也可以不设置密钥密码,这时候只用密钥就可以登录服务器了(用密码是双重加密,即使别人搞到了密钥也无法登陆)。
2、私钥一定要另存到本地电脑和邮箱中,因为换一台电脑没有私钥(或者私钥丢失)就无法 SSH 登陆服务器了。
3、SSH 密钥登陆服务器的方法确实能够提高 SSH 连接的安全性,建议大家考虑一下这个方法。
暂无评论内容