VPS 安全加固指南:从零开始配置密钥登录与权限管理(1Panel/宝塔 + Xshell)

温馨提示: 本文最后更新于 2026-02-12 01:49:04,某些文章具有时效性,若有错误或已失效,请在下方留言或联系一点点

拿到一台新的 VPS,第一件事绝对不是急着装环境,而是安全加固。默认的 22 端口和 root 密码登录是黑客暴力破解的首选目标。

本文将演示一套标准的加固流程:使用 Xshell 创建普通用户并配置 SSH 密钥登录,配合 1Panel 或宝塔面板 快速修改端口并关闭 root 远程登录。

前置准备

  • 工具:Xshell(或其他 SSH 客户端)
  • Xshell官方免费版下载(对家庭和学校用户提供免费许可证,不需要破解,功能对于个人使用完全足够)
  • 面板:已安装好 1Panel 或 宝塔面板
  • 权限:目前拥有 root 密码

第一步:创建新用户并授权 (Xshell 操作)

为了安全起见,我们日常操作不应该使用 root 账户。我们需要创建一个普通用户,并在必要时赋予其管理员权限(sudo)。

  1. 以 root 身份登录 Xshell
  2. 创建用户(这里以 ydd 为例):Bash

adduser ydd

系统会提示你设置密码,请输入并确认。

  1. 赋予 sudo 权限: 让新用户能执行管理员命令。

Bash

# CentOS/AlmaLinux/RHEL 系统:
gpasswd -a ydd wheel

# Ubuntu/Debian 系统:
gpasswd -a ydd sudo

注:如果不确定系统,可以尝试两个命令,或者直接编辑 /etc/sudoers 文件。


第二步:配置 SSH 密钥登录 (Xshell 操作)

密码可能被撞库,但密钥文件几乎不可能被破解。我们将使用 Xshell 生成密钥对,并将公钥上传到服务器。

1. 在 Xshell 生成密钥

  1. 点击 Xshell 菜单栏的 “工具” (Tools) -> “新建用户密钥生成向导”
  2. 密钥类型选择 RSA,长度建议 20484096,点击“下一步”。
  3. 密钥名称随便填,密码(Passphrase)建议设置一个,这样即使密钥文件被盗,对方没有密码也无法使用(设置的密钥密码需要记住,无法找回,实在记不住可以考虑不设置)。
  4. 生成完毕后,点击 “保存为文件”公钥保存到电脑桌面(例如 id_rsa_2048.pub)。

2. 将公钥上传到服务器

回到 Xshell 的 root 命令行,我们需要将刚才的公钥写入 ydd 用户的目录下。

  1. 切换到新用户

Bash

su - ydd
  1. 创建 .ssh 目录并设置权限

Bash

mkdir .ssh
chmod 700 .ssh
  1. 编辑公钥文件

Bash

vim .ssh/authorized_keys

i 进入编辑模式,找到你刚才保存在桌面的公钥文件,用记事本打开,全选复制,然后粘贴进去。按 Esc,输入 :wq 保存退出。

  1. 赋予权限(非常重要)

Bash

chmod 600 .ssh/authorized_keys

3. 测试新用户登录

切记:在关闭 root 登录前,必须先验证新用户能不能登进去!

  1. 在 Xshell 新建一个会话。
  2. 主机:填你的 IP。
  3. 用户身份验证
    • 方法:选择 Public Key
    • 用户名:ydd
    • 用户密钥:选择刚才生成的密钥,输入密钥密码。
  4. 点击连接。如果成功进入命令行,说明密钥配置成功。

第三步:修改端口与防火墙设置 (面板操作)

核心逻辑:先在防火墙放行新端口 -> 再修改 SSH 配置文件 -> 最后删除旧的 22 端口。 这样可以防止把自己锁在外面。

假设我们将新端口设置为 12580

方案 A:如果你使用的是 1Panel

  1. 放行新端口
    • 进入 1Panel 面板,点击左侧 “防火墙”
    • 点击 “创建规则”
    • 协议:TCP,端口:12580,策略:允许,来源:所有 IP。点击确认。
  2. 修改 SSH 配置
    • 点击左侧 “主机” -> “SSH 管理”
    • SSH 端口:将 22 修改为 12580
    • Root 登录:找到“允许 Root 登录”开关,将其关闭
    • 点击确认/保存,系统会自动重启 SSH 服务。
  3. 删除旧端口
    • 回到 “防火墙” 页面。
    • 找到端口为 22 的规则,点击右侧的 “删除”

方案 B:如果你使用的是 宝塔面板

  1. 放行新端口
    • 进入宝塔面板,点击左侧 “安全”
    • 在“系统防火墙”部分,输入端口 12580,备注填“SSH新端口”,点击 “放行”
  2. 修改 SSH 配置
    • 依然在 “安全” 页面,顶部会显示“SSH 端口”。
    • 22 改为 12580,点击 “更改”
    • 在下方的 “SSH 安全管理” 中,将 “Root 密码登录” 设置为 关闭
  3. 删除旧端口
    • 在下方的防火墙规则列表中,找到端口 22 的规则(通常显示为 SSH),点击右侧的 “删除”

第四步:最终验证

  1. 回到 Xshell。
  2. 修改刚才创建的 ydd 用户会话属性。
  3. 将端口号改为你新设置的 12580
  4. 尝试连接。

如果一切顺利,你现在拥有了一个非 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
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容