vps拿到手后必须进行的简单安全设置

VPS拿到手,一般的服务商都是直接给你ROOT帐号,这样管理起来最方便,但不安全,如果你不想太麻烦的话,尽可能的设置强密码,数字+字母+大小写+特殊字符是必须的,不给暴力破解任何机会,如果你使用弱密码的话,你的VPS就如同脱光衣服的美女在色狼窝里面,结果只能是被强X,轮上一遍又一遍,下场非常凄惨!

我建议还是花上一点时间进行安全设置,能把安全系数大大提高。

总的说起来,禁ROOT登陆或禁密码登陆+证书管理

禁ROOT登陆之前我们要先建一个普通帐户 之后通过这个普通帐户提权进行管理 输入命令

useradd 用户名
passwd 用户名

输入两遍密码(无提示符) 普通帐户建好之后,禁止密码登陆 命令

vi /etc/ssh/sshd_config

找到PermitRootLogin 改为no

PermitRootLogin no

保存退出 重启ssh 使用刚才建立的普通帐户登陆VPS 使用su命令提权进行管理

更安全的做法是使用证书登陆 我们先生成证书公钥和私钥 root登陆之后ssh-keygen密钥生成工具生成

root@192:/home/skywing# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

运行ssh-keygen之后一路回车,会在当前用户目录下建立./ssh文件夹放置公钥和私钥,私钥为id_rsa,公钥为id_rsa.pub。

公钥放服务器端 把它重命名为authorized_keys 命令

cd /root/.ssh
mv id_rsa.pub authorized_keys

私匙使用SFTP工具下载到本地(推荐使用filezilla,开源免费好用!)

之后开始禁用密码登陆

vi /etc/ssh/sshd_config

找到PasswordAuthentication这一行 把yes 改为 no,注意前面如果有注释符#的话 记得要去掉。

PasswordAuthentication no

保存退出 重启ssh

service ssh restart

使用证书登陆一下试试,如果正常的话,就可以关闭刚才的ssh连接。注意在确定证书能正常登陆之前切勿关闭刚才的ssh连接,要不你可能会无法再登陆VPS。

说下我常的的ssh客户端xshell使用证书登陆的过程

  1. 导入私钥 选择 工具-用户密匙管理者-导入-选择你刚才下载到本地的id_rsa文件。
  2. 新建会话 和我们正常建立会话差不多,用户身份验证 方法选 Public key 用户密钥选我们刚才导入的id_rsa,密码填你的用户密码,如无密码 留空即可(适用于ubuntu sudo用户)

连接得上的话 说明你刚才的操作没有错误

the end