跳到主要内容

生成新的 SSH 密钥

1、启动 Terminal (Linux,Mac) 或 Git Bash (Windows)

2、通过密钥生成工具 ssh-keygen 创建密钥对

推荐采用 ed25519 算法生成,加解密速度快:ssh-keygen -t ed25519 -C "[email protected]"

如果出现兼容性问题,则用 rsa 算法生成:ssh-keygen -t rsa -b 4096 -C "[email protected]"

密钥文件命名规则建议为 (包括但不限于):

  • <org>_<device>_<os>_<platform>_id_ed25519
    • <设备所属组织>_<创建设备型号>_<操作系统类型>_<应用平台/场景>_<加密方式>
  • <place>_<asset_tag>_<os>_<platform>_id_ed25519
    • <设备应用地点>_<资产编号>_<操作系统类型>_<应用平台/场景>_<加密方式>

这样能大概知道该密钥基本信息和应用场景。

3、将 SSH 密钥添加到 ssh-agent

  • 在后台启动 ssh-agent:eval "$(ssh-agent -s)"
  • 添加 SSH 私钥到 ssh-agent:ssh-add ~/.ssh/<private_key_file>

4、查看客户端已存在的 SSH 密钥对

通过 ls -al ~/.ssh 列出现有的 SSH 密钥对,.pub 结尾的是公钥,复制公钥到 Git Server 或其它服务端中,用于建立 ssh 隧道连接。

Questions

  1. RSA、DSA、ECDSA、EdDSA、Ed25519 是什么?
  2. 如何添加或更改 SSH key 密码?

Resources