-->

下詹金斯混帐克隆/ SSH(git clone/ssh under jenkins)

2019-06-26 20:06发布

我使用藏匿作为一个Git仓库经理。 藏匿允许您添加SSH密钥为每个用户试图从它连接和克隆。 我已经配置罚款所有UNIX用户,但窗户是给我困难的时候。 车窗从机(2008 R2服务器)上的git克隆过程挂起永远,因为它可能没有找到.ssh目录,其中的键被保留。 从CLI手动运行相同的命令时,它工作正常。

我已经试过各种配置,用%HOME%环境变量等播放。 它根本不会为我工作。 花了那么一天,在这个问题上,但毫无效果。

任何帮助表示赞赏。

Answer 1:

在客户端(詹金斯),需要检查是否运行詹金斯的作业,用户知道一个%HOME%的环境变量:它需要它的%HOME%的.ssh \ id_rsa.pub公共SSH密钥那里。
请参阅“ 詹金斯-蹦-权限被拒绝(公钥) ”

在服务器( 藏匿Atlassian的 ),你需要确保~stachAadminAccount\.ssh\authorized_keys确实包含你的公钥。

除了这一点,你需要调试SSH联接:

ssh -vvvT ssh://git@stash.atlassian.com:7999/path/to/repo.git

(取代git通过使用用于管理藏匿帐户,并更换stash.atlassian.com:7999你的server:port


1)我已经明确添加%HOME%到系统ENV上的从瓦尔,只是为了确保它在注入。它可能不需要,但我加了它,看它是否会产生影响

是需要 :ssh将寻找下密钥(私有和公有) %HOME%/.ssh

2)我从来没有与下藏匿SSH密钥一塌糊涂。 事实上,所有的藏匿用户内部藏匿,但它们不是一部分/etc/password文件之类的东西,所以没有authorized_keys文件反正存在- user1577236 6小时前

A /“不是一部分/etc/password文件”:当然,那些没有登记在/ etc /密码:我们不是在谈论用户帐户在这里,而是SSH密钥允许用户打开一个安全的shell会话作为一个独特的用户帐户(藏匿管理员帐户):所有的ssh命令将在同一帐户下被执行。

B /“没有authorized_keys文件”:它当然应该存在:当您报告使用ssh协议作品的克隆,它涉及到一个纯粹的SSH通信,这意味着寻找在一个服务器端的公共密钥~/.ssh/authorized_keys
该文件不存在,唯一的办法是,如果藏匿推出自己的ssh守护进程,配置为查找在公共密钥的另一个文件/源键。

关于2 - 你藏匿做的是公钥添加到空间发生在藏匿,为每个用户。

这可能是,但藏匿应该仅仅是一个很好的前端为SSH。 所有背后的SSH机制仍然应该更新。

3)提到的,使用Git SSH协议的命令行运行的git克隆命令工作得很好,所以我应该可以在调试会话找?

你必须定义一个詹金斯工作,这确实对ssh -vvvT作为其唯一的命令:这样,你会看到什么不从詹金斯的角度工作。

我很想调试詹金斯过程,并看看它在它的SSH会话,但我不知道该怎么做(还...)。 刚开始2个星期前左右,与詹金斯工作。

在Windows中, 进程管理器是为了看看在哪个帐户下,并与詹金斯进程(及其作业)正在运行的环境变量中至少一个的第一步。



文章来源: git clone/ssh under jenkins