我使用藏匿作为一个Git仓库经理。 藏匿允许您添加SSH密钥为每个用户试图从它连接和克隆。 我已经配置罚款所有UNIX用户,但窗户是给我困难的时候。 车窗从机(2008 R2服务器)上的git克隆过程挂起永远,因为它可能没有找到.ssh目录,其中的键被保留。 从CLI手动运行相同的命令时,它工作正常。
我已经试过各种配置,用%HOME%环境变量等播放。 它根本不会为我工作。 花了那么一天,在这个问题上,但毫无效果。
任何帮助表示赞赏。
我使用藏匿作为一个Git仓库经理。 藏匿允许您添加SSH密钥为每个用户试图从它连接和克隆。 我已经配置罚款所有UNIX用户,但窗户是给我困难的时候。 车窗从机(2008 R2服务器)上的git克隆过程挂起永远,因为它可能没有找到.ssh目录,其中的键被保留。 从CLI手动运行相同的命令时,它工作正常。
我已经试过各种配置,用%HOME%环境变量等播放。 它根本不会为我工作。 花了那么一天,在这个问题上,但毫无效果。
任何帮助表示赞赏。
在客户端(詹金斯),需要检查是否运行詹金斯的作业,用户知道一个%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中, 进程管理器是为了看看在哪个帐户下,并与詹金斯进程(及其作业)正在运行的环境变量中至少一个的第一步。