侧边栏壁纸
  • 累计撰写 34 篇文章
  • 累计创建 32 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

如何将 SSH 密码登录改为 Root 密钥登录

Administrator
2026-03-17 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

1. 为什么要使用密钥登录?

安全性极高: 密钥长度通常为 2048 位或更高,暴力破解几乎不可能。

免密体验: 配置好后,无需输入繁琐的密码,秒连服务器。

规避扫描: 配合禁用密码登录,可以无视全球黑客的 SSH 暴力破解尝试。

2. 核心流程图

私钥(Private Key):存放在你的本地电脑(FinalShell),相当于钥匙。
公钥(Public Key):存放在 VPS 的 root 家目录下,相当于锁。

3. 具体操作步骤

第一步:切换至 root 权限
如果你当前是以普通用户登录的,首先切换到 root 账户:

sudo -i

第二步:生成专属 root 的密钥对
在服务器上生成一对新的密钥(推荐使用更安全、更高效的 ed25519 算法):

ssh-keygen -t ed25519 -f /root/.ssh/id_root_key -C "vps_root_key"

提示输入密码时,连续按 回车 即可(不设置密钥锁)。

第三步:部署公钥(安装锁)
将生成的公钥内容写入 root 用户的授权名单,并设置严格的权限:

将公钥写入 authorized_keys

cat /root/.ssh/id_root_key.pub >> /root/.ssh/authorized_keys

设置权限(必须严格执行,否则 SSH 会因安全原因拒绝登录)

chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys

第四步:保存私钥(拿到钥匙)
你需要将服务器生成的“钥匙”文件内容保存到你的本地电脑:

运行:

cat /root/.ssh/id_root_key 

完整复制 屏幕上显示的 -----BEGIN OPENSSH PRIVATE KEY----- 开头的内容。

在本地电脑新建文本文件(如 vps_root.key),粘贴并保存。

第五步:开启 SSH 配置
修改 SSH 服务配置文件,允许 root 使用密钥登录:

nano /etc/ssh/sshd_config

在文件中找到以下两行,去掉注释:

PermitRootLogin prohibit-password
PubkeyAuthentication yes

保存并退出后,重启 SSH 服务:

systemctl restart ssh

4. FinalShell 客户端配置

导入密钥: 点击 SSH 密钥管理器(钥匙图标)。

点击 添加 -> 导入,选择你本地的 vps_root.key 文件。

修改连接设置:

用户名: root

认证方式: 选择 公钥。

证书: 选择刚刚导入的密钥。

连接测试: 尝试连接 root 账号。

5. 彻底关闭密码登录

警告:请务必确认密钥登录成功后,再执行此步骤!

为了极致安全,你可以彻底禁止任何用户通过密码登录:

再次编辑 /etc/ssh/sshd_config。

设置 PasswordAuthentication no。

重启 SSH 服务。

0

评论区