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使用证书登陆的过程
- 导入私钥 选择 工具-用户密匙管理者-导入-选择你刚才下载到本地的id_rsa文件。
- 新建会话 和我们正常建立会话差不多,用户身份验证 方法选 Public key 用户密钥选我们刚才导入的id_rsa,密码填你的用户密码,如无密码 留空即可(适用于ubuntu sudo用户)
连接得上的话 说明你刚才的操作没有错误
the end