本文详解了在 CentOS 7 系统下生成 SSH 密钥对(公钥与私钥)的操作方法,主要介绍了使用ssh-keygen命令的步骤,并明确了密钥对的默认保存位置,即用户家目录下的.ssh文件夹(通常为id_rsa私钥和id_rsa.pub公钥),以便实现安全无密码登录。
在现代服务器管理中,使用 SSH 密钥对进行身份验证比传统的密码登录更加安全且便捷,在 CentOS 7 系统上,生成并配置 SSH 密钥对是提升服务器安全性的重要一步,本文将详细介绍如何在 CentOS 7 上生成密钥对,并明确告知您这些密钥文件保存在哪里。
生成 SSH 密钥对
您需要在您的本地电脑(客户端)或服务器上执行以下命令来生成 RSA 类型的密钥对。
使用 -t 指定算法(如 rsa),使用 -b 指定密钥长度(推荐 4096 位以获得更高的安全性):

ssh-keygen -t rsa -b 4096
执行该命令后,系统会提示您输入一些信息,您可以直接按回车键使用默认设置,也可以设置一个强密码短语(Passphrase)来保护私钥。
密钥对保存在哪里?
这是许多新手最容易混淆的地方,生成的 SSH 密钥对保存在用户的主目录下的隐藏目录 .ssh 中。
具体路径和文件说明如下:
-
私钥文件:
- 文件名:
id_rsa - 路径:
/home/username/.ssh/id_rsa - 说明:这是您的私钥,必须严格保密,绝不能分享给任何人,包括技术支持人员。
- 文件名:
-
公钥文件:
- 文件名:
id_rsa.pub - 路径:
/home/username/.ssh/id_rsa.pub - 说明:这是您的公钥,可以分享给任何人(例如上传到服务器),服务器使用它来验证您的身份。
- 文件名:
配置与使用
生成密钥后,您需要将公钥复制到 CentOS 7 服务器上,以便实现免密登录。
使用 ssh-copy-id(推荐)
如果您安装了 openssh-clients,这是最简单的方法:
ssh-copy-id username@centos7-server-ip
系统会提示您输入服务器的密码,完成后,公钥就会被自动追加到服务器的 ~/.ssh/authorized_keys 文件中。
手动复制
如果您无法使用 ssh-copy-id,可以使用以下命令手动复制:
cat ~/.ssh/id_rsa.pub | ssh username@centos7-server-ip 'cat >> ~/.ssh/authorized_keys'
权限设置建议
为了确保安全,CentOS 7 对 .ssh 目录的权限有严格要求,请确保以下权限设置正确:
- 私钥文件:权限应为
600(仅所有者可读写)。 - 公钥文件:权限应为
644(所有者可读写,其他人可读)。 - .ssh 目录:权限应为
700(仅所有者可访问)。
您可以使用以下命令修改权限:
chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
在 CentOS 7 上,SSH 密钥对默认保存在您登录用户的家目录下的 .ssh 文件夹中,分别是 id_rsa(私钥)和 id_rsa.pub(公钥),正确配置这些文件的位置和权限,您就能享受到更加安全、流畅的 SSH 免密登录体验。

