ssh-keygen
2025-02-17
简介
ssh-keygen 是一个用于生成、管理和转换 SSH 密钥的工具。它可以创建用于 SSH 协议版本 1 和 2 的认证密钥。
基本用法
# 生成 RSA 密钥对
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 指定文件名
ssh-keygen -t rsa -f ~/.ssh/my_key -C "custom key"
# 分发公钥
ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname密钥管理
文件位置
默认生成的文件位于 ~/.ssh/ 目录:
id_rsa:私钥文件id_rsa.pub:公钥文件
权限设置
# 创建 .ssh 目录
mkdir -p ~/.ssh
# 设置正确的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub常用参数
| 参数 | 说明 | 示例 |
|---|---|---|
| -t | 指定密钥类型 | ssh-keygen -t rsa |
| -b | 指定密钥长度 | ssh-keygen -b 4096 |
| -f | 指定密钥文件名 | ssh-keygen -f ~/.ssh/my_key |
| -C | 添加注释 | ssh-keygen -C "comment" |
| -p | 修改密钥密码 | ssh-keygen -p -f key_file |
使用示例
1. 生成密钥
# 生成默认 RSA 密钥
ssh-keygen
# 生成带注释的密钥
ssh-keygen -t rsa -C "work key"2. 密钥转换
# 转换为 PEM 格式
ssh-keygen -e -m PEM -f ~/.ssh/id_rsa > id_rsa.pem最佳实践
安全建议
- 使用强密码保护私钥
- 定期更换密钥
- 妥善保管私钥文件
使用建议
- 为不同用途创建不同密钥
- 使用有意义的注释
- 备份重要密钥
注意:
- 私钥文件权限必须是 600
- .ssh 目录权限必须是 700
- 不要在不安全的系统上生成密钥
参考资料: