快速生成 SSH-RSA 密钥文件
核心命令
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
参数解析
参数 | 作用 |
---|---|
-t rsa | 指定密钥类型为 RSA(兼容性最好,但现代系统更推荐 ed25519 ) |
-P '' | 设置空密码(单引号包裹的空字符串) |
-f ~/.ssh/id_rsa | 指定密钥存储路径和文件名(默认生成 id_rsa 私钥和 id_rsa.pub 公钥) |
注意事项
-
目录权限
确保~/.ssh
目录存在且权限正确:mkdir -p ~/.ssh && chmod 700 ~/.ssh
-
密钥权限
私钥权限必须为600
:chmod 600 ~/.ssh/id_rsa
-
覆盖风险
若已存在同名密钥文件,该命令会直接覆盖(无警告提示),建议备份旧密钥。 -
更安全的替代方案
推荐使用更现代的ed25519
算法:ssh-keygen -t ed25519 -a 100 -P '' -f ~/.ssh/id_ed25519
典型应用场景
- 将公钥上传至服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
- 配置多密钥时,需在
~/.ssh/config
中指定密钥路径:Host myserver HostName host.example.com User user IdentityFile ~/.ssh/id_rsa
扩展知识
- 生成 4096 位 RSA 密钥(增强安全性):
ssh-keygen -t rsa -b 4096 -P '' -f ~/.ssh/id_rsa_4096
- 查看密钥指纹:
ssh-keygen -lf ~/.ssh/id_rsa.pub