使用SSH密钥连接Azure DevOps时遭遇权限拒绝问题
Azure DevOps SSH权限拒绝问题排查与解决
确认SSH密钥加载状态
执行ssh-add -l查看当前已加载的密钥指纹,和Azure DevOps后台添加的公钥指纹比对,确保一致。如果没找到对应密钥,执行ssh-add <你的私钥绝对路径>加载,比如Windows下用ssh-add C:\Users\你的用户名\.ssh\id_rsa,Linux/macOS用ssh-add ~/.ssh/id_rsa。配置SSH强制指定密钥
在~/.ssh/config(Windows路径为C:\Users\你的用户名\.ssh\config)里添加以下配置,强制连接Azure DevOps时使用你生成的私钥:Host ssh.dev.azure.com User git IdentityFile <你的私钥绝对路径> IdentitiesOnly yes检查公钥格式
确保Azure DevOps里添加的公钥是OpenSSH格式(开头为ssh-rsa或ecdsa-sha2-nistp256等),如果是PuTTY生成的PPK格式,需要用PuTTYgen工具转换成OpenSSH公钥后再重新添加。核实账户与权限
确认公钥是添加在当前登录的Azure DevOps账户下,且该账户拥有目标项目的访问权限,避免误添加到其他账户导致权限验证失败。查看详细连接日志定位问题
执行ssh -vT git@ssh.dev.azure.com获取详细连接日志,从中查找关键错误信息,比如密钥是否被服务端拒绝、私钥是否被正确读取等,针对性解决问题。
内容的提问来源于stack exchange,提问作者Pallab
相关产品推荐
相关产品推荐

