vps用户都应该看一看的小小白话文安全防护 vps RSA秘钥连接登录教学 防止vps密码被破解盗取

 

小小白话文安全篇学习

大家好。欢迎来到marco的YouTube频道。本期视频,主要跟大家分享xray小小白话文中,安全防护篇的内容。从上次xray的作者要求xray的代理面板禁用代理面板的明文http事件后,我觉得我们应该对翻墙的网络安全加重视。本期视频主要讲解小小白白话文中安全篇章中的内容。其实,这个文档发布很久了。但是,目前,油管上很多的教学视频,都只是演示通过root登录,然后,用一键脚本或者代理面板之类的搭建一下节点就完事。包括,我自己很多视频,也是这样演示的。安全方面的一些设置,一直都是被我们给忽视的。我觉得这一块应该引起我们的重视。

小小白话文:https://xtls.github.io/document/level-0/ch04-security.html

git下载安装:https://git-scm.com/downloads

为什么,要做安全的防护

简单,如果,通过默认的root和密码方式以及端口号登录,vps容易被别人给攻破,具体的危害可以看这里的内容,这里,我就不细讲了。

步骤

  1. 【端口】:将 SSH 远程登录端口修改为【非 22 端口】 (4.4)

  2. 【用户名】:建立【非 root】的新用户、并禁用 root 用户 SSH 远程登录 (4.5、4.6)

  3. 【密码】:SSH 启用 RSA 密钥验证登录、同时禁用密码验证登录 (4.7)

  4. 使用RSA秘钥登录,禁用密码登录。

将ssh端口修改为非22端口

进入etc/ssh目录下,修改sshd_config文件

cd /etc/ssh

image-20241220103356784

修改端口

image-20241220103843174

保存

由于,我这一台vps的是没有安装ufw防火墙,所以,我这里安装一下。

安装ufw

apt install ufw

常用命令

ufw enable
sudo ufw default deny #关闭所有端口的外部访问,要用对外开放,哪个端口,就放行对需要的端口即可
sudo ufw allow ssh #开放ssh端口(22端口)

放行指定端口

sudo ufw allow 端口号 #端口号改成自己需要开发的端口

放行1111端口

sudo ufw allow 1111/tcp

重启ssh服务,让刚才的更改生效

systemctl restart ssh

建立非root用户

新增用户并设置密码

adduser vpsadmin

image-20241220104911231

再输入一遍密码

image-20241220104958859

安装sudo, sudo命令可以让普通用户临时获得用户权限,普通用户可以通过载明了前面加上sudo来执行一些root用户才能执行的命令

apt update && apt install sudo

将添加的普通用户加入,sudo名单里面,让它有使用sudo的资格

visudo

User Privilege Specification 下加入一行 vpsadmin ALL=(ALL) NOPASSWD: ALL 即可。

禁用root远程登录

image-20241220110450895

  1. 重启 ssh 服务

    systemctl restart ssh

使用普通用户登录

image-20241220110741826

使用秘钥登录

生成秘钥

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

设置秘钥保存的文件路径

找一个文件夹,复制一下文件夹的路径,
你的目录路径\id_rsa

在VPS 并新建文件夹,起名.ssh (注意有一个.

mkdir -p ~/.ssh

将公钥文件上传到.ssh目录下

把公钥写入到authorized_keys里面

cat id_rsa.pub >> ~/.ssh/authorized_keys
  1. 修改 authorized_keys 文件权限为 600 (仅所有者可读可写)

    chmod 600 ~/.ssh/authorized_keys
  1. 修改 SSH 配置。我们变成了普通用户vpsadmin,此时的我们是没有权限直接编辑 SSH 配置的。这时候就需要使用sudo命令了:

    sudo vi /etc/ssh/sshd_config
  2. 找到 PasswordAuthentication 改成 no

  3. 找到 PubkeyAuthentication 改成 yes,然后保存(ctrl+o)退出(ctrl+x)

  4. 重启 SSH 服务。(啰嗦君:别忘了现在需要使用sudo来获得权限)

    sudo systemctl restart ssh

评论