【发布时间】:2025-12-19 05:35:16
【问题描述】:
我们最近设置了 Gitolite 服务器。一切似乎都很好。我可以毫无问题地连接到它。
已经设置了一个新用户,他在 Mac 上并尝试使用 SourceTree。我能让他连接的唯一方法是让他尝试 ssh 到服务器,然后我输入密码(之后退出)。否则,系统会一直要求输入该服务器的密码。
这是正常行为吗? 非系统管理员用户如何访问 gitolite?
【问题讨论】:
标签: gitolite
我们最近设置了 Gitolite 服务器。一切似乎都很好。我可以毫无问题地连接到它。
已经设置了一个新用户,他在 Mac 上并尝试使用 SourceTree。我能让他连接的唯一方法是让他尝试 ssh 到服务器,然后我输入密码(之后退出)。否则,系统会一直要求输入该服务器的密码。
这是正常行为吗? 非系统管理员用户如何访问 gitolite?
【问题讨论】:
标签: gitolite
Gitolite 基于forced command,表示非交互式会话。
所以:
所以他只需要一个存储在~/.ssh 中的公钥(确保他的home 和.ssh 都不是组或全局可写的),在gitolite-admin/keys 中注册并在gitolite 服务器上发布@ 987654329@文件。
从那里,如“Sourcetree and Gitolite”中所述:
如果您要克隆远程 git 存储库,则需要跳出 Source path/ URL 字段以激活克隆按钮。
届时将验证该网址。使用 gitolite 的 url 不需要特殊语法,甚至尊重 ssh conf 文件中的主机条目。所以在我的情况下,
gitolite:workrepo的 url 就足够了。
【讨论】:
authorized_keys (但如果通过 gitolite 应该是通过推送gitolite-admin repo,其中包含正确名称的 pub 密钥),或者它已被复制,但名称错误:公钥的名称必须是:yourLoginName.pub。