拿到一台新的 VPS,第一件事绝对不是急着装环境,而是安全加固。默认的 22 端口和 root 密码登录是黑客暴力破解的首选目标。
本文将演示一套标准的加固流程:使用 Xshell 创建普通用户并配置 SSH 密钥登录,配合 1Panel 或宝塔面板 快速修改端口并关闭 root 远程登录。
前置准备
- 工具:Xshell(或其他 SSH 客户端)
- Xshell官方免费版下载(对家庭和学校用户提供免费许可证,不需要破解,功能对于个人使用完全足够)
- 面板:已安装好 1Panel 或 宝塔面板
- 权限:目前拥有 root 密码
第一步:创建新用户并授权 (Xshell 操作)
为了安全起见,我们日常操作不应该使用 root 账户。我们需要创建一个普通用户,并在必要时赋予其管理员权限(sudo)。
- 以 root 身份登录 Xshell。
- 创建用户(这里以
ydd为例):Bash
adduser ydd
系统会提示你设置密码,请输入并确认。
- 赋予 sudo 权限: 让新用户能执行管理员命令。
Bash
# CentOS/AlmaLinux/RHEL 系统:
gpasswd -a ydd wheel
# Ubuntu/Debian 系统:
gpasswd -a ydd sudo
注:如果不确定系统,可以尝试两个命令,或者直接编辑 /etc/sudoers 文件。
第二步:配置 SSH 密钥登录 (Xshell 操作)
密码可能被撞库,但密钥文件几乎不可能被破解。我们将使用 Xshell 生成密钥对,并将公钥上传到服务器。
1. 在 Xshell 生成密钥
- 点击 Xshell 菜单栏的 “工具” (Tools) -> “新建用户密钥生成向导”。
- 密钥类型选择
RSA,长度建议2048或4096,点击“下一步”。 - 密钥名称随便填,密码(Passphrase)建议设置一个,这样即使密钥文件被盗,对方没有密码也无法使用(设置的密钥密码需要记住,
无法找回 ,实在记不住可以考虑不设置)。 - 生成完毕后,点击 “保存为文件” 将公钥保存到电脑桌面(例如
id_rsa_2048.pub)。
2. 将公钥上传到服务器
回到 Xshell 的 root 命令行,我们需要将刚才的公钥写入 ydd 用户的目录下。
- 切换到新用户:
Bash
su - ydd
- 创建 .ssh 目录并设置权限:
Bash
mkdir .ssh
chmod 700 .ssh
- 编辑公钥文件:
Bash
vim .ssh/authorized_keys
按 i 进入编辑模式,找到你刚才保存在桌面的公钥文件,用记事本打开,全选复制,然后粘贴进去。按 Esc,输入 :wq 保存退出。
- 赋予权限(非常重要):
Bash
chmod 600 .ssh/authorized_keys
3. 测试新用户登录
切记:在关闭 root 登录前,必须先验证新用户能不能登进去!
- 在 Xshell 新建一个会话。
- 主机:填你的 IP。
- 用户身份验证:
- 方法:选择
Public Key。 - 用户名:
ydd。 - 用户密钥:选择刚才生成的密钥,输入密钥密码。
- 方法:选择
- 点击连接。如果成功进入命令行,说明密钥配置成功。
第三步:修改端口与防火墙设置 (面板操作)
核心逻辑:先在防火墙放行新端口 -> 再修改 SSH 配置文件 -> 最后删除旧的 22 端口。 这样可以防止把自己锁在外面。
假设我们将新端口设置为 12580。
方案 A:如果你使用的是 1Panel
- 放行新端口:
- 进入 1Panel 面板,点击左侧 “防火墙”。
- 点击 “创建规则”。
- 协议:TCP,端口:
12580,策略:允许,来源:所有 IP。点击确认。
- 修改 SSH 配置:
- 点击左侧 “主机” -> “SSH 管理”。
- SSH 端口:将
22修改为12580。 - Root 登录:找到“允许 Root 登录”开关,将其关闭。
- 点击确认/保存,系统会自动重启 SSH 服务。
- 删除旧端口:
- 回到 “防火墙” 页面。
- 找到端口为
22的规则,点击右侧的 “删除”。
方案 B:如果你使用的是 宝塔面板
- 放行新端口:
- 进入宝塔面板,点击左侧 “安全”。
- 在“系统防火墙”部分,输入端口
12580,备注填“SSH新端口”,点击 “放行”。
- 修改 SSH 配置:
- 依然在 “安全” 页面,顶部会显示“SSH 端口”。
- 将
22改为12580,点击 “更改”。 - 在下方的 “SSH 安全管理” 中,将 “Root 密码登录” 设置为 关闭。
- 删除旧端口:
- 在下方的防火墙规则列表中,找到端口
22的规则(通常显示为 SSH),点击右侧的 “删除”。
- 在下方的防火墙规则列表中,找到端口
第四步:最终验证
- 回到 Xshell。
- 修改刚才创建的
ydd用户会话属性。 - 将端口号改为你新设置的
12580。 - 尝试连接。
如果一切顺利,你现在拥有了一个非 22 端口、禁止 root 直接登录、且必须使用密钥才能访问的铜墙铁壁般的 VPS。
需要到你的云服务商控制台(阿里云/腾讯云/AWS 等)的安全组里,手动添加规则放行 12580 端口,多数情况是在1Panel 面板/宝塔面板里边放行新端口就可以的。
由于我们在之前的教程中已经把 ydd 加入了管理员组(wheel 或 sudo 组),您不需要知道 root 密码,只需要使用 ydd 自己的密码即可获得权限。
这里有两种方式:
方式一:临时执行(推荐)
如果您只需要执行一两个管理命令(比如重启服务、更新软件),在命令前加上 sudo 即可。
Bash
sudo <您要执行的命令>
示例:
Bash
# 更新软件列表
sudo apt update
# 重启 Nginx
sudo systemctl restart nginx
系统会提示 [sudo] password for ydd:,此时输入 ydd 的登录密码 并回车(输入时屏幕不会显示星号)。
方式二:切换成 Root 身份(长期)
如果您需要连续执行很多命令,不想每次都打 sudo,可以切换成 root 的 Shell 环境。
Bash
sudo -i
输入 ydd 的密码 后,您的命令提示符会从 $ 变成 #,这说明您现在已经是 root 身份了。
退出 Root 身份: 执行完操作后,输入 exit 即可变回 ydd 用户。
Bash
exit
2 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
3 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
4 本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法、侵权等任何非法活动,否则后果自负!









暂无评论内容