ssh-keygen如何输出key到特定目录
ssh-keygen 使用 -f 参数即可指定私钥输出路径(公钥会自动在同目录生成 .pub 文件)。
1.基本用法
1 | ssh-keygen -t ed25519 -f /data/sshkeys/id_ed25519 |
执行后生成:
1 | /data/sshkeys/id_ed25519 |
注意:如果目录不存在,需要先创建:
1 | mkdir -p /data/sshkeys |
2.示例
1 | ssh-keygen \ |
参数含义:
-t ed25519:推荐算法,比 RSA 更快更安全-C:备注信息(可选)-f:输出路径-N "":空密码(自动化部署常用)
2.1权限注意事项(关键点)
SSH 对私钥权限敏感:
1 | # 目录权限 |
否则 SSH 可能拒绝使用该 key。
3.运维自动化场景
在 CI/CD 或批量部署时,常见方式是:
- 固定 key 目录,例如
/data/sshkeys/ - 主机按用途分 key:
deploy_,backup_,git_ - 使用软链接或环境变量切换 key
- ssh config 指定默认 key
例如:
1 | ~/.ssh/config |
1 | Host gitlab |
这样不同服务走不同 key,权限与审计更清晰,也便于容器或自动化环境统一挂载 key 目录。