1

我在尝试从 Windows 服务器上的私人仓库添加 github 材料时遇到问题。

我见过很多人建议如何在基于 unix 的系统上添加 ssh 密钥和位置。尚未找到与 Windows 服务器相关的任何内容。

我正在使用 Go 最新版本,并在安装了 git 的 Windows Server 2008 上安装了 Go Server & Agent。

我可以使用 Git Bash 连接到私人仓库。

每当我尝试添加材料时,它一直在说 Checking Connection 并且看起来它会永远留在那里。

如果我使用基本身份验证它可以工作,但我想让它工作而不在 URL 中暴露我的密码。

有没有办法做到这一点?

4

2 回答 2

1

如果您使用 Windows 机器托管 GoCD 服务器和代理,它不会在普通用户帐户下运行,而是在“本地系统帐户”下运行</p>

因此,即使您可以从 git bash(以当前用户身份登录)访问您的 git repo,GOCD 也无法访问。

因此,您需要为当前用户的本地系统帐户添加 SSH 密钥。

1.首先找到本地系统帐户的主目录(它不会驻留在 C:/Users 下)

2.使用任何远程管理工具查找主目录 - 如果您使用http://download.sysinternals.com/files/PSTools.zip

a) 以管理员身份解压并运行命令行

b)PsExec.exe -i -s cmd.exe -启动工具)

c) 运行 echo %userprofile% 以获取主目录(例如:C:\Windows\system32\config\systemprofile)

3.现在您可以从当前用户复制 SSH 密钥文件或使用 ssh 命令创建一个新的。

在创建/复制 SSH 密钥后尝试检查连接,它将显示连接正常!

于 2018-10-10T07:45:29.737 回答
1

如果您在默认的本地系统帐户下运行 Go,您可以按照http://opensourcetester.co.uk/2013/06/28/jenkins-windows-ssh/的建议为本地系统帐户设置 ssh 密钥。

如果您在域帐户(而不是默认的本地系统帐户)下运行 Go Server,请检查您是否已将 ssh 密钥上传到服务器计算机上的 %USERPROFILE%/.ssh/ 文件夹,%USERPROFILE% 是域的 HOME 文件夹用户。设置好之后,Go 服务器就可以选择所需的密钥。代理机器也是如此。如您所知,Go 不会在内部调用 Git-bash 来运行 git 命令,因此在从 Go 中运行 git 时,bash 上的任何设置都不会生效。

于 2015-11-19T22:26:07.347 回答