从Linux克隆到TFS Git存储库

3
我一直在尝试解决一个问题,即无法从不在域中的Linux机器上执行“git clone”命令来访问托管在本地TFS2017上的Git repo,一直出现“fatal: Authentication failed for”的错误。
我使用的用户是Linux机器上的本地用户(与域用户同名,密码相同),该用户已被授予Git repo中的用户权限。当我在加入域的Windows机器上使用Git Bash时,一切正常。
我已在Linux上创建了ssh密钥,并将其作为公共密钥更新到TFS用户配置文件中,但没有帮助。
下面是TFS活动日志: enter image description here 在图片中,我们可以看到从Linux访问时,顶部请求没有身份验证、身份和应用程序,而从Git Bash(Win机器)进行相同访问时,身份验证类型为“Negotiate”,有身份名称和应用程序。
谢谢大家。
2个回答

2
我已经成功解决了问题,其中一个步骤是配置SSH验证。 1. 在Linux机器上,我将TFS服务器添加到HOSTS文件中并安装了Git客户端。 然后我按照此指南进行ContOS >> AD身份验证,我一直遵循第4步。 2. 在Linux机器上使用“ssh-keygen”生成公钥,并将此密钥用作
3. 在TFS网页上,在用户图标处,我们有安全选项卡,进入SSH公钥并添加来自Linux的生成密钥(必须是公钥,而不是私钥)。 4. 最终,我在Linux中键入完整的repo地址,例如git clone ssh://tfs.domain.com:22/Defaultcollection/_projectname/git

它会提示您授权RSA连接,就这样。 希望这有所帮助。

1

首先,请仔细确认您是否已经按照此教程--使用SSH密钥认证连接到您的Git存储库。请避免在Key Data字段中添加空格或换行符,它们可能会导致VSTS使用无效的公钥。

此外,您也可以尝试在TFS应用程序层服务器上配置基本身份验证或使用Git凭据管理器从Linux进行身份验证。这将缩小问题是否与ssh身份验证类型或Linux机器环境有关的范围。

尝试在git clone命令测试期间禁用Linux构建代理上的防火墙。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接