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。
ssh-keygen -t ed25519 -C "[email protected]"
~/.ssh/id_ed25519,建议接受默认,便于工具自动识别公钥不能随便粘贴,必须严格写入目标服务器的 ~/.ssh/authorized_keys 文件,且目录和文件权限必须正确。
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host(自动处理权限和路径)chmod 700 ~/.ssh 且 chmod 600 ~/.ssh/authorized_keys
authorized_keys 每行一条公钥,不能有多余空行或乱码光传了公钥还不够,服务器 SSH 服务得认它。检查两个关键点:
/etc/ssh/sshd_config 中有 PubkeyAuthentication yes(默认通常开启)PasswordAuthentication no,但务必先测试密钥能连通再改,避免锁死sudo systemctl restart sshd(Linux)或对应命令MobaXterm 自带密钥生成器,但默认生成的是 OpenSSH 格式,兼容性好;若导入已有私钥,需确认是 PEM 或 OpenSSH 格式,不支持 PuTTY 的 .ppk(得用 PuTTYgen 转换)。