在 Linux 系统管理中,SSH(Secure Shell)密钥对是进行安全登录和身份验证的最佳实践,相比传统的密码登录,密钥对登录更加安全且便捷,本文将详细介绍在 CentOS 7 系统上如何生成 SSH 密钥对,并重点解答 centos7生成的公钥密钥对保存在哪里 这一核心问题。
生成 SSH 密钥对
我们需要在客户端(或生成密钥的服务器上)使用 ssh-keygen 命令来生成密钥对,默认情况下,CentOS 7 通常会使用 RSA 算法。
打开终端,输入以下命令:

ssh-keygen -t rsa -b 4096
-t rsa:指定加密算法为 RSA。-b 4096:指定密钥长度为 4096 位(比默认的 2048 位更安全)。
执行命令后,系统会提示你输入文件保存位置和密码,通常直接按回车键使用默认路径即可。
密钥对的保存位置
这是本文的重点,当你使用默认设置生成密钥对时,centos7生成的公钥密钥对保存在用户家目录下的 .ssh 隐藏目录中。
-
私钥:
- 文件名:
id_rsa - 路径:
/home/username/.ssh/id_rsa - 说明:这是你的私钥,必须妥善保管,绝对不能泄露给任何人。
- 文件名:
-
公钥:
- 文件名:
id_rsa.pub - 路径:
/home/username/.ssh/id_rsa.pub - 说明:这是公钥,可以随意分享,你需要将这个文件的内容添加到远程 CentOS 7 服务器的授权列表中。
- 文件名:
配置与使用
为了让 SSH 使用密钥登录,我们需要进行以下配置:
-
检查目录权限: 确保
.ssh目录的权限是 700,私钥文件id_rsa的权限是 600,这可以通过以下命令设置:chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa
-
上传公钥到服务器: 你可以使用
ssh-copy-id命令将公钥自动复制到远程服务器,或者手动复制内容,推荐使用自动方式:ssh-copy-id user@centos7-server-ip
-
手动配置(如无法使用 ssh-copy-id): 如果无法使用
ssh-copy-id,你需要将本地的公钥内容复制到远程服务器的~/.ssh/authorized_keys文件中。
通过上述步骤,我们了解了在 CentOS 7 环境下,密钥对的生成过程以及存储机制。centos7生成的公钥密钥对保存在用户主目录下的 .ssh 文件夹内,分别命名为 id_rsa(私钥)和 id_rsa.pub(公钥),掌握这一知识点,是进行自动化运维和服务器安全加固的基础。

