首页 > 解决方案 > 将 TF CLC 连接到本地 TFS 2017

问题描述

我尝试使用实际构建的 TEE-CLC(版本 14.134.0)连接到 TF Server 2017。发出命令时

./tf workfold "$/Collection" "/home/user/TFS/Collection" -map -login:username,password -server:"https://*ip-address*/tfs" -workspace:"WorkspaceName"

系统提示我找不到工作区“WorkspaceName”。然后我继续使用以下命令创建一个新的工作区:

./tf workspace -new -collection:"https://*ip-address*/tfs/DefaultCollection"

TF 询问我提供的用户名和密码,然后继续抛出执行,因为它无法验证服务器自签名 SSL 证书:

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

现在我只是在寻找一种方法来告诉 TEE-CLC 接受不受信任的证书。我在 Google 上搜索时找到了一些解决方案,但它们似乎都不适用于实际的 TEE-CLC 版本。

一种解决方案建议编辑客户端的配置文件选项(https://social.msdn.microsoft.com/Forums/vstudio/en-US/f11ea086-be44-4fa2-8e4e-ca8c6c92a8d8/im-receiving-the-error- quotunable-to-find-valid-certification-path-to-requested-targetquot-when?forum=tee),但整个“profile”命令在我正在使用的版本中不可用(不再?)。

有没有办法告诉 TEE-CLC 接受不受信任的证书?

标签: tfscommand-linessl-certificate

解决方案


我最终将 CA 证书导入 javas 密钥库:

sudo keytool -importcert -alias CA_NAME -cacerts -keystore $java_home/lib/security/cacerts -file path/to/ca.cer

openjdk 的密钥库的默认密码是“changeit”。之后,我继续创建工作区并将它们相应地映射到我的本地文件夹:

tf workfold "$/ProjectName" /path/to/local/folder/ProjectName -workspace:"hostname;username" -map

推荐阅读