跳过正文
  1. 系列/
  2. VPS 实战系列/

任务 1:配置免密登录与安全加固

其雁过无痕
作者
其雁过无痕
目录

0. 前言
#

拿到一台全新的 Ubuntu 24.04 服务器(RackNerd 1核/1GB)后,第一步永远不是装软件,而是“关门”。本文记录了如何通过非对称加密实现免密登录,并完成初期的安全加固。


1. 核心原理:非对称密钥 (Asymmetric Encryption)
#

SSH 免密登录的核心在于**“公钥锁门,私钥开锁”**。

  • 公钥 (Public Key):存放在服务器的 authorized_keys 中。它像一把打开的挂锁,谁都能看,但只能用来“锁住”信息。
  • 私钥 (Private Key):保存在本地电脑(如我的 ThinkBook 16+)。它是唯一的钥匙,只有它能解开公钥锁住的信息。

2. 操作指南
#

第一步:本地生成密钥对
#

在本地终端执行:

# 推荐使用性能更优、更安全的 ed25519 算法
ssh-keygen -t ed25519

注意:如果设置了 passphrase(私钥口令),每次使用私钥时都需要输入该口令以解锁私钥。

第二步:将公钥上传至服务器
#

通过 FinalShell 等工具,将本地 ~/.ssh/id_ed25519.pub 中的内容完整复制到服务器的 /root/.ssh/authorized_keys 文件中。

第三步:修改 SSH 核心配置
#

编辑 /etc/ssh/sshd_config

  • 修改端口Port 22334 (避开默认端口,防御暴力扫描)。
  • 开启密钥登录PubkeyAuthentication yes
  • 禁用密码登录PasswordAuthentication no

3. 踩过的坑(Ubuntu 24.04 特辑)
#

坑 1:修改端口后无法连接
#

  • 原因:Ubuntu 24.04 引入了 ssh.socket 机制,默认接管了端口管理,导致直接修改 sshd_config 不生效。
  • 对策
systemctl disable --now ssh.socket
systemctl enable --now ssh.service
systemctl restart ssh

坑 2:权限过于开放导致钥匙失效
#

  • 原因:SSH 有严格的“权限强迫症”,如果文件夹权限太高,它会认为不安全而拒绝工作。
  • 对策
chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys