如何将ssh-keygen生成的SSH密钥适配用于Azure DevOps仓库的SourceTree
解决SourceTree连接Azure DevOps的SSH密钥格式问题
你不需要重新生成密钥,直接把现有OPENSSH格式的私钥转换成PuTTY的.ppk格式就行,也可以直接用PuTTY工具生成兼容的密钥,两种方法都给你列出来:
方法一:转换现有OPENSSH密钥为PPK格式
- 打开PuTTYgen(如果没装,直接下载PuTTY套件即可,SourceTree安装目录里也可能附带这个工具)
- 点击界面上的「Load」按钮,文件类型选择「All Files」,找到你用
ssh-keygen生成的无扩展名私钥文件 - 加载成功后,点击「Save private key」,把密钥保存为.ppk格式(可以设置密钥密码提升安全性,也可以直接跳过)
- 打开SourceTree,通过「Tools > Import SSH Keys」导入这个.ppk文件,或者在「Tools > Options > SSH」里,将SSH客户端设为「PuTTY/Plink」,并指定这个.ppk文件的路径
方法二:直接生成PuTTY兼容的PPK密钥
- 打开PuTTYgen,密钥类型选「RSA」,密钥位数设置为2048或4096(Azure DevOps都支持)
- 点击「Generate」,在界面上移动鼠标生成随机熵,直到进度条完成
- 生成后可以设置密钥密码(可选),然后点击「Save private key」保存为.ppk文件
- 复制PuTTYgen界面里显示的公钥文本(开头是
ssh-rsa AAAAB3NzaC1yc2EA...),粘贴到Azure DevOps的个人SSH密钥设置中(路径:用户设置 > SSH public keys > Add)
后续配置与测试
- 在SourceTree的「Tools > Options > SSH」里确认已选中「PuTTY/Plink」,并指定正确的.ppk路径
- 测试连接:打开命令行,执行
plink -ssh git@ssh.dev.azure.com,如果能成功出现Azure DevOps的欢迎信息,说明配置没问题 - 克隆仓库时,选择Azure DevOps提供的SSH地址(格式为
git@ssh.dev.azure.com:v3/[组织名]/[项目名]/[仓库名]),SourceTree会自动用你配置的PPK密钥验证
内容的提问来源于stack exchange,提问作者trickbrptbe
相关产品推荐
相关产品推荐

