随着我们网站及项目的需要,以及vps主机/服务器的成本不断的降低,越来越多的站长用户将会选择vps或者服务器作为我们的建站环境,但是对于用户来说基础的操作大部分都来自网上的教程,比如用ssh软件登陆之后然后就学着教程安装面板、一键包,然后就去搭建网站。我们经常有提到对于使用vps的时候,所有的安全都需要我们自己来承担和维护,保持一定周期的备份数据是应该的,但也需要注意以及确保账户和系统的安全。
即便我们的项目没有招惹到其他同行或者故意想来破坏的,但是全球范围之内还是有玩家用软件在扫描所有的机器,试图进入我们的服务器中体现他们的技术。在老左博客,之前也有分享过几篇简单的vps主机安全。
linux vps安全设置之一:修改ssh端口(centos/debian)
linux vps安全设置之二:禁用root账户
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服务。
1
2
|
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
1
2
|
debian/ubuntu执行:/etc/init.d/ssh restart centos执行:/etc/init.d/sshd restart |
总结,这样我们的xshell就设置密钥登陆完成,如果我们用其他电脑登陆试试,是不好登陆的,即便你有root密码也是不可以的。这样安全性就很高了,但是我们需要注意本地电脑的安全,尤其是那pub文件要保管好,从源头上确保vps/服务器的安全。