随着我们网站及项目的需要,以及VPS主机/服务器的成本不断的降低,越来越多的站长用户将会选择VPS或者服务器作为我们的建站环境,但是对于用户来说基础的操作大部分都来自网上的教程,比如用SSH软件登陆之后然后就学着教程安装面板、一键包,然后就去搭建网站。我们经常有提到对于使用VPS的时候,所有的安全都需要我们自己来承担和维护,保持一定周期的备份数据是应该的,但也需要注意以及确保账户和系统的安全。
即便我们的项目没有招惹到其他同行或者故意想来破坏的,但是全球范围之内还是有玩家用软件在扫描所有的机器,试图进入我们的服务器中体现他们的技术。在老左博客,之前也有分享过几篇简单的VPS主机安全。
Linux VPS安全设置之一:修改SSH端口(CentOS/Debian)
Linux VPS安全设置之三:使用DDOS deflate抵御少量DDOS攻击
不论我们的网站项目程序做的如何安全,VPS的登陆入口安全是必须要做的,即便我们修改端口,也是会被猜测其他端口数字破解出来,更为安全的方案就是我们用密钥登录,比如我们需要用到XSHELL(这里分享XSHELL密钥登录方案)登陆VPS的时候,如果设置密钥登录之后必须要用我们配置好的这台电脑登陆VPS远端才可以访问,如果不是我们这台电脑登陆,肯定是不好登陆的。
第一步、使用Xshell生成密钥
我们打开熟悉的XSHELL软件,然后在工具-新建用户密钥生成向导。
密钥类型
到了生成密钥参数界面,我们这里需要选择RSA密钥类型,以及密钥长度可以选择1024或者我这里选择2048.然后点击下一步按钮。
生成密钥
继续下一步,我们需要给我们设置的私钥加密。
私钥加密
点击下一步,生成密钥。
公钥格式
公钥格式选择SSH2-OPENSSH,我们可以复制公钥以及保存为文件后完成。
第二步、上传公钥至服务器中
A - 将我们生成的laozuo.org.pub公钥文件上传到/root/.ssh文件夹下面(如果没有我们需要创建),然后我们需要将laozuo.org.pub重命名为authorized_keys 并且用chmod 600 authorized_keys设置权限。
B - 找到/etc/ssh/sshd_config ,把RSAAuthentication和PubkeyAuthentication两行前面的#注释去掉。
C - 重启SSHD服务。
Debian/Ubuntu执行:/etc/init.d/ssh restart CentOS执行:/etc/init.d/sshd restart
第三步、配置Xshell使用密钥登陆
在Xshell新建一个链接。
设置用户身份为Public Key,选择用户密钥。
输入我们之前设置的密钥密码。这个时候我们其实就可以登陆,但我们需要设置权限。
第四步、修改远程服务器SSHD配置
同样的,修改/etc/ssh/sshd_config 文件中找到PasswordAuthentication后面的yes改成no
然后重启sshd
Debian/Ubuntu执行:/etc/init.d/ssh restart CentOS执行:/etc/init.d/sshd restart
总结,这样我们的xshell就设置密钥登陆完成,如果我们用其他电脑登陆试试,是不好登陆的,即便你有ROOT密码也是不可以的。这样安全性就很高了,但是我们需要注意本地电脑的安全,尤其是那pub文件要保管好,从源头上确保VPS/服务器的安全。