Git 使用 SSH 密钥身份验证
Git 使用 SSH 密钥身份验证
在 macOS、Linux 或 Windows 上通过 SSH 连接到 Git 存储库,以使用 HTTPS 身份验证安全连接。 在 Windows 上,我们建议使用 Git 凭据管理器 或 个人访问令牌。
❗重要
SSH URL 已更改,但旧的 SSH URL 将继续生效 。 如果已设置 SSH,则应将远程 URL 更新为新格式:
- 通过在 Git 客户端中运行来
git remote -v
验证哪些远程程序正在使用 SSH。 - 访问 Web 上的存储库,然后选择右上角的 “克隆 ”按钮。
- 选择 SSH 并复制新的 SSH URL。
- 在 Git 客户端中,运行:
git remote set-url <remote name, e.g. origin> <new SSH URL>
或者,在 Visual Studio 中,转到 存储库设置并编辑远程。
SSH 密钥身份验证的工作原理
SSH 公钥身份验证适用于生成的加密密钥的非对称对。 公钥与 Azure DevOps 共享,用于验证初始 ssh 连接。 私钥在系统上保持安全。
设置 SSH 密钥身份验证
以下步骤介绍了在以下平台上配置 SSH 密钥身份验证:
- Linux
- 至少运行 Leopard (10.5) 的 macOS
- 运行适用于 Windows 的 Git 的 Windows 系统
使用命令行配置 SSH。 bash
是 Linux 和 macOS 上的常用 shell,Git for Windows 安装会在“开始”菜单中向 Git Bash 添加快捷方式。 其他 shell 环境将正常工作
步骤 1:创建 SSH 密钥
此处的命令将允许创建新的默认 SSH 密钥,覆盖现有的默认密钥。 在继续之前,请检查 ~/.ssh
文件夹 (例如 /home/jamal/.ssh 或 C:\Users\jamal.ssh) 并查找以下文件:
- id_rsa
- id_rsa.pub
如果这些文件存在,则已创建 SSH 密钥。 可以使用以下命令覆盖密钥,或跳过此步骤
使用ssh-keygen``bash
命令提示符创建 SSH 密钥。
ssh-keygen bash
ssh-keygen -t rsa -C “email@.com”
此命令生成 SSH 身份验证所需的两个密钥:私钥 ( id_rsa) 和公钥 ( id_rsa.pub ) 。 请务必从不共享私钥的内容。 如果私钥遭到入侵,攻击者可以使用它欺骗服务器来认为连接来自你。
另请注意,存储在 Azure DevOps 中的 SSH 密钥会在五年后过期。 如果密钥过期,可以上传新密钥或相同的密钥,以继续通过 SSH 访问 Azure DevOps。