SSH 密钥生成与管理指南如何看

作者:袖梨 2026-08-19

SSH密钥配置核心是私钥保管、公钥部署和服务器权限控制三步:用ed25519算法生成带passphrase的密钥;用ssh-copy-id精准写入authorized_keys并设chmod 700和600权限;确认sshd_config中PubkeyAuthentication yes且PasswordAuthentication no(先测试再禁用),最后重启sshd。

直接看核心操作和关键逻辑,别被术语绕晕。SSH密钥不是“高级功能”,而是远程连接的基础安全配置,重点在私钥保管、公钥部署和服务器端权限控制这三块。

密钥生成:选对算法,设好保护

推荐优先用 ed25519 算法,速度快、安全性高、密钥文件小。如果目标服务器较老(比如 CentOS 6 或某些网络设备),再退回到 rsa -b 4096

  1. 生成命令示例:ssh-keygen -t ed25519 -C "[email protected]"
  2. 执行时会提示保存路径,默认是 ~/.ssh/id_ed25519,建议接受默认,便于工具自动识别
  3. 务必设置 passphrase(密钥密码),哪怕只是简单口令——这是私钥丢失后的最后一道防线

公钥部署:精准写入 authorized_keys

公钥不能随便粘贴,必须严格写入目标服务器的 ~/.ssh/authorized_keys 文件,且目录和文件权限必须正确。

  1. 最稳妥方式:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host(自动处理权限和路径)
  2. 手动操作时,确保目标主机上:chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
  3. 注意:authorized_keys 每行一条公钥,不能有多余空行或乱码

服务端验证:确认配置生效

光传了公钥还不够,服务器 SSH 服务得认它。检查两个关键点:

  1. 确认 /etc/ssh/sshd_config 中有 PubkeyAuthentication yes(默认通常开启)
  2. 如需禁用密码登录,改为 PasswordAuthentication no,但务必先测试密钥能连通再改,避免锁死
  3. 改完配置记得重启服务:sudo systemctl restart sshd(Linux)或对应命令

MobaXterm 用户特别注意

MobaXterm 自带密钥生成器,但默认生成的是 OpenSSH 格式,兼容性好;若导入已有私钥,需确认是 PEM 或 OpenSSH 格式,不支持 PuTTY 的 .ppk(得用 PuTTYgen 转换)。

  1. 在 MobaXterm 新建会话时,“Advanced SSH settings” → 勾选 “Use private key”,再指定私钥路径
  2. SFTP 连接也会自动复用该密钥,无需额外配置
  3. 密钥密码只输一次,MobaXterm 可缓存(勾选 “Save password”),但生产环境慎用

相关文章

精彩推荐