# 生成 SSH 密钥
- 打开命令行
- 生成 SSH 密钥
ssh-keygen -t ed25519 -C "你的邮箱" | |
// 如果不支持Ed25519算法, 请使用一下命令 | |
ssh-keygen -t rsa -b 4096 -C "你的邮箱" |
这将使用提供的电子邮件作为标签创建一个新的 SSH 密钥。
Generating public/private ALGORITHM key pair.
当系统提示您 “输入要保存密钥的文件” 时,您可以按 Enter 接受默认文件位置。请注意,如果您之前创建了 SSH 密钥,ssh-keygen 可能会要求您重写另一个密钥,在这种情况下,我们建议您创建一个自定义命名的 SSH 密钥。为此,请键入默认文件位置并将 id_ALGORITHM 替换为您的自定义密钥名称。
Enter file in which to save the key (/c/Users/YOU/.ssh/id_ALGORITHM):[Press enter]
- 在出现提示时,键入安全密码.(按照个人需求设置)
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
- SSH 密钥创建完成
- 通常是默认位置寻找.ssh 文件夹,如果自定义了路径,就去自定路径下寻找。
:::warn
默认生成.ssh文件夹 在用户目录下, 文件id_rsa(私钥)、文件id_rsa.pub(公钥)。通常,我们使用私钥签名,接收数据使用公钥解析数据。
生成的 SSH 的路径最好是在为 C:\Users\computer name\……,不然有权限问题。
:::
# GitHub 添加 SSH
实现使用 SSH 密钥版本控制。
- 在对应目录下将 SSH 公钥(id_rsa.pub)内容复制到剪贴板。
- GitHub 右上角,点击您的个人资料照片,然后点击 “设置”。
- 侧边栏的 “访问” 部分中,单击 SSH 和 GPG 密钥。
- 新建 SSH 密钥或添加 SSH 密钥。
- 在 “标题” 字段中,为新密钥添加描述性标签。例如,如果您使用的是个人笔记本电脑,则可以将此键称为 “个人笔记本电脑”。
- 选择密钥类型,身份验证或签名(我选择身份验证)。
- 在 “密钥” 字段中,粘贴您的公钥。
- 添加 SSH 密钥。
此时,GitHub 的 SSH 公钥就添加成功了。
# Ubuntu 添加 SSH
实现使用 远程 SSH 密钥登录,我这里主要是使用 vscode 进行远程开发具体可见 [远程开发](/remote development/)。
- 将对应目录下将 SSH 公钥
id_rsa.pub重命名为authorized_keys - 上传到服务器的 /root/.ssh 目录下 (没有则新建.ssh 目录)
- .sshd 配置
# 开启秘钥登录 | |
PubkeyAuthentication yes | |
AuthorizedKeysFile .ssh/authorized_keys #多个公钥就累加 (形如第一个)…… | |
# 将 RSAAuthentication 注释 | |
# RSAAuthentication no |
- 执行命令重启 sshd
service sshd restart |
- 文件权限问题
chmod 700 /root | |
chmod 700 /root/.ssh | |
chmod 644 /root/.ssh/authorized_keys |
过去无法挽回,未来可以改变,有的人成日殚精竭虑,却掀不起什么风浪,有的人却因一念之差,让世界天翻地覆,这就是命运权重。