VPS服务器评论

Ubuntu22.04关闭密码到密钥登录指南

使用密钥登录(Public Key Authentication)相比密码登录,能有效抵御暴力破解攻击。本文将让你从零开始完成设置。

第一步:本地生成密钥对

在你的 本地电脑(Windows PowerShell、macOS 或 Linux 终端)执行:

ssh-keygen -t ed25519 -C "your_email@example.com"

第二步:在服务器配置公钥

如果服务器是全新的,可能不存在 .ssh 目录。

1. 手动创建环境

服务器 上执行:

mkdir -p /root/.ssh
chmod 700 /root/.ssh
touch /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

2. 写入公钥内容

使用编辑器打开文件:

nano /root/.ssh/authorized_keys

将本地电脑生成的 id_ed25519.pub 文件中的 全部内容 粘贴进去,保存退出(先Ctrl+O,再 Enter,最后 Ctrl+X退出)。

第三步:修改 SSH 配置文件

这是最关键的一步,决定了服务器是否接受密码登录。

执行命令:

nano /etc/ssh/sshd_config

在文件中找到并确保以下参数按如下设置(若有 # 请删掉):

配置项设置值说明PubkeyAuthenticationyes允许使用公钥登录PasswordAuthenticationno禁止使用密码登录KbdInteractiveAuthenticationno禁用键盘交互认证(现代版挑战响应验证)
:在旧版教程中常见的 ChallengeResponseAuthentication 在 Ubuntu 22.04 中已更名为 KbdInteractiveAuthentication

第四步:测试并重启服务

1. 语法检查

在应用配置前,检查是否有拼写错误:

sshd -t

若无任何输出,说明配置合法。

2. 重启 SSH 服务

systemctl restart ssh

3. 极其重要:双重验证

不要关闭当前的 SSH 窗口! 1. 在本地电脑新开一个窗口尝试连接:ssh root@服务器IP

  1. 如果无需密码直接进入(或仅提示输入密钥密码),说明成功。
  2. 如果新窗口能进去,你就可以放心关闭旧窗口。

常见问题排查 (FAQ)

这样完成后,你就能放心使用了
上文如有欠缺,请大佬拍砖指正,我一定立正聆听并修改

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »