下面分 服务端(CentOS 本机) 和 客户端 两部分,完整说明 CentOS 配置 SSH 密钥登录 的步骤,适用于 CentOS 7 / 8 / Stream。
ssh root@服务器IP
如果你是 第一次配置,可以先生成密钥:
ssh-keygen -t rsa -b 4096
按回车确认:
/root/.ssh/id_rsa如果你 已经在客户端生成了密钥,把 客户端的公钥 放到服务器:
在服务器上:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
编辑 authorized_keys:
vi ~/.ssh/authorized_keys
粘贴你 客户端的公钥内容(通常是 id_rsa.pub)
然后设置权限(非常重要):
chmod 600 ~/.ssh/authorized_keys
编辑 SSH 配置文件:
vi /etc/ssh/sshd_config
确保以下配置存在并取消注释:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
(可选)禁止 root 密码登录(增强安全):
PasswordAuthentication no
PermitRootLogin yes
systemctl restart sshd
ssh-keygen -t rsa -b 4096
生成后:
~/.ssh/id_rsa~/.ssh/id_rsa.pubssh-copy-id root@服务器IP
如果没有该命令,可手动复制公钥内容。
ssh root@服务器IP
✅ 如果不再提示输入密码,说明配置成功。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
restorecon -Rv ~/.ssh
tail -f /var/log/secure
如果你愿意,可以告诉我:
我可以给你一份 完全定制化的配置方案。