在 CentOS(以及大多数 Linux 发行版)中,SSH 相关的密钥主要存放在以下位置:
普通用户的 SSH 密钥通常存放在用户主目录下的 .ssh 目录中:
~/.ssh/
常见文件:
~/.ssh/id_rsa:私钥(RSA 算法)~/.ssh/id_rsa.pub:公钥~/.ssh/id_ecdsa / id_ecdsa.pub:ECDSA 密钥~/.ssh/id_ed25519 / id_ed25519.pub:Ed25519 密钥(推荐)~/.ssh/authorized_keys:存放允许登录该用户的公钥~/.ssh/known_hosts:记录已连接过的主机指纹示例:
ls -la ~/.ssh/
SSH 服务(sshd)自身使用的主机密钥存放在:
/etc/ssh/
常见文件:
/etc/ssh/ssh_host_rsa_key/etc/ssh/ssh_host_rsa_key.pub/etc/ssh/ssh_host_ecdsa_key/etc/ssh/ssh_host_ed25519_key⚠️ 这些文件不要随意修改或删除,否则会导致 SSH 服务异常。
虽然不是“密钥”,但常一起使用:
/etc/ssh/sshd_config # SSH 服务端配置
/etc/ssh/ssh_config # SSH 客户端全局配置
生成用户密钥:
ssh-keygen
查看公钥:
cat ~/.ssh/id_rsa.pub
将公钥添加到目标机器:
ssh-copy-id user@host
如果你是想问 “CentOS 的 root 用户 SSH 密钥在哪”,那也是:
/root/.ssh/
需要我帮你查当前系统的 SSH 密钥情况,或配置免密登录吗?