在 CentOS(以及绝大多数 Linux 发行版)中,SSH 密钥的存放位置分为客户端密钥和服务端密钥两类,下面分别说明:
用于登录其他服务器时使用的密钥(如 ssh-keygen 生成)
~/.ssh/
~/.ssh/id_rsa # 私钥(RSA)
~/.ssh/id_rsa.pub # 公钥
~/.ssh/id_ecdsa # ECDSA 私钥
~/.ssh/id_ed25519 # ED25519 私钥(推荐)
~/.ssh/authorized_keys # 允许登录本机的公钥
如果是 root 用户,路径为:
/root/.ssh/
用于标识服务器身份,一般不用手动管理
/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
/etc/ssh/sshd_config # SSH 服务端配置
常用相关配置:
AuthorizedKeysFile .ssh/authorized_keys
PubkeyAuthentication yes
生成密钥:
ssh-keygen -t ed25519
将公钥复制到服务器:
ssh-copy-id user@host
如果你是想:
可以告诉我具体场景,我可以进一步帮你。