在现代 Linux 系统管理中,使用 SSH 密钥认证 是提升服务器安全性和操作效率的重要手段。本文将详细讲解如何在 CentOS 系统中使用 ssh-keygen 命令生成 SSH 密钥对,并配置免密登录,即使你是 Linux 新手也能轻松上手。
SSH(Secure Shell)是一种加密的网络协议,用于安全地远程登录和管理系统。传统的密码登录方式容易受到暴力破解攻击,而使用 SSH 密钥认证 则更加安全高效。它包含一对密钥:
CentOS 通常默认已安装 OpenSSH 客户端。你可以通过以下命令确认:
ssh -V 如果看到类似 OpenSSH_8.0p1, OpenSSL 1.1.1k 的输出,说明已安装。
打开终端,输入以下命令开始生成 SSH 密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 参数说明:
-t rsa:指定密钥类型为 RSA(也可用 ed25519,更现代)-b 4096:指定密钥长度为 4096 位(更安全)-C "your_email@example.com":添加注释,通常为邮箱,便于识别执行后,系统会提示你选择保存路径(默认为 ~/.ssh/id_rsa),直接按回车即可:
Enter file in which to save the key (/home/your_user/.ssh/id_rsa): 接着会提示设置密码(passphrase)。如果你希望完全免密登录,可直接按回车跳过(不推荐用于生产环境);否则输入一个强密码以增加安全性。
进入 .ssh 目录查看:
ls -l ~/.ssh/# 输出应包含:# id_rsa ← 私钥(切勿泄露!)# id_rsa.pub ← 公钥(可上传) 使用 ssh-copy-id 命令是最简单的方式:
ssh-copy-id user@remote_server_ip 系统会提示你输入远程服务器的密码。成功后,公钥将被追加到远程服务器的 ~/.ssh/authorized_keys 文件中。
如果没有 ssh-copy-id,也可以手动复制:
cat ~/.ssh/id_rsa.pub | ssh user@remote_server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" 现在尝试登录远程服务器:
ssh user@remote_server_ip 如果配置正确,你将无需输入密码即可登录!
600:chmod 600 ~/.ssh/id_rsa~/.ssh 目录权限应为 700,authorized_keys 权限为 600ssh-agent 使用通过本教程,你已经掌握了在 CentOS 上使用 ssh-keygen 命令生成 SSH 密钥对,并成功配置了 SSH 免密登录。这不仅提升了远程连接的安全性,也大大简化了日常运维操作。无论是个人开发还是企业服务器管理,Linux 安全远程连接 都是必备技能。
赶快动手试试吧!如有疑问,欢迎在评论区留言交流。
本文由主机测评网于2025-12-18发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025129622.html