- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我是 gitolite 的新手。我在远程服务器上安装了 gitolite。
http://dev.remoteserver.com
所以我可以 git-cloning gitolite-admin.git。
git clone ssh://gitolite@dev.remoteserver.com/gitolite-admin.git
我想使用 gitolite 添加用户和 repo。以下是普通的添加用户流程。
在本地仓库中,conf/keydir 目录存在。
open conf/gitolite.conf
在文本下方添加。
repo aproject
RW+ = testid
并且,在本地 mac 中,
ssh-keygen -t rsa.
在keydir/testid.pub中添加了公钥
然后,git add/git commit/git push 就搞定了。
好的,然后我尝试从远程服务器克隆新的 git 存储库。
git clone ssh://testid@dev.remoteserver.com/aproject.git
但是,它会产生这样的错误...
mac$ git clone ssh://testid@dev.remoteserver.com/aproject.git
Cloning into 'aproject'...
mac@dev.remoteserver.com's password:
Permission denied, please try again.
mac@dev.remoteserver.com's password:
Permission denied, please try again.
mac@dev.remoteserver.com's password:
Permission denied (publickey,gssapi-with-mic,password).
fatal: The remote end hung up unexpectedly
我认为 git 克隆不应该询问密码。正确的密码也导致 git 克隆失败。
我的远程服务器是 CentOS。
欢迎评论。
最佳答案
使用 gitolite
,您所有的 ssh 通信都是通过用于安装 gitolite
的帐户完成的。
在你的例子中:gitolite
。
但是,您可以指定一个不同公钥,以指示 gitolite
对不同用户进行身份验证。
ssh session 仍将作为 gitolite
执行。
但是传递给 gitolite
脚本的名称将是 testid
(因为公钥是由 gitolite
在其 ~/.ssh/authorized_keys
as 'testid
')
所以使用一个 ~testid/.ssh/config
文件,在其中提到正确的参数:
Host gitolitesrv
Hostname dev.remoteserver.com
User gitolite
IdentityFile /path/to/tesitd
请注意,/path/to/
必须包含您的私钥 testid
和您的公钥 testid.pub
。
此时,他们的名字并不重要(可以是 xxx
和 xxx.pub
)
重要的是存储在 gitolite-admin/keydir/testid.pub
中的公钥名称(因为文件名用于记录在authorized_keys
forced-command 行)
然后,这个 git clone
应该可以工作了:
git clone gitolitesrv:aproject.git
OP Jinbom Heo提到有困难:
克隆到“aproject”...一个项目的 R 访问被拒绝到 gitolite
(或者给定路径可能没有存储库。您拼写正确吗?)fatal: 远端意外挂断
it appears that git user is not
testid
butgitolite
.
Host dev2git
Hostname dev.remoteserver.com
User gitolite
IdentityFile ~/.ssh/testid
And a
gitolite.conf
file include the following (git-pushed):
repo 项目 RW+ = testid
At last, I found the reason.
When generating ssh-key using ssh-keygen, I typed password. That's the problem.
So I tried keygen without password, and it works~. I don't know why password should not be added when I make the key. Anyway, It works well
我可以确认我一直使用无密码 key 。
如果您确实想用密码保护您的 key ,请参阅“appendix 1: ssh daemon asks for a password”
make sure you're being asked for a password and not a passphrase.
Do not confuse or mistake a prompt saying Enter passphrase for key '/home/sitaram/.ssh/id_rsa
': for a password prompt from the remote server!When you create an
ssh keypair
usingssh-keygen
, you have the option of protecting it with a passphrase.
When you subsequently use thatkeypair
to access a remote host, your localssh
client needs to unlock the corresponding private key, andssh
will probably ask for the passphrase you set when you created thekeypair
.You have two choices to avoid this prompt every time you try to use the private key.
- The first is to create keypairs without a passphrase (just hit enter when prompted for one).
Be sure to add a passphrase later, once everything is working, usingssh-keygen -p
.- The second is to use
ssh-agent
(orkeychain
, which in turn usesssh-agent
) or something like that to manage your keys.
Other than discussing one more potential trouble-spot withssh-agent
(see "appendix 3: ssh client may not be offering the right key"), further discussion ofssh-agent/keychain
is out of scope of this document.
关于git - 无法使用 Gitolite 添加用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9630937/
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我已成功创建gitolite-admin.git服务器上的存储库(例如)10.107.105.13 。我可以在本地计算机上克隆此存储库(例如)10.14.42.7通过发布 git clone gito
我想使用本地帐户在我的 gitolite 服务器上创建一个新存储库,而不通过 SSH 访问。这可能吗?它们是我可以使用的一些 gitolite 脚本吗? 如果我尝试通过系统上的 git 用户通过查看
我正在尝试使用 Gitolite 在 Gitlab 中创建一个新分支。我完成安装步骤。当我遇到“设置 gitolite”部分时,我遇到了麻烦。我关注了这个link . 当我运行
我正在尝试在我的 ubuntu 服务器机器上安装 gitolite。 尽管如此,还有很多事情我还不知道,但我按照它的指示非常缓慢地前进(http://sitaramc.github.com/gitol
我在 Ubuntu 12.04 上安装了 Gitolite 3.5.3。我创建了测试存储库,我只能通过 gitolite 用户而不是其他用户通过 ssh 访问它。 我需要允许通过 ssh 访问其他系统
这可能吗?我的 authorized_keys 文件被删除,更新 gitolite 管理规则仅附加到文件。是否可以根据 gitolite 配置重新生成整个文件? 编辑:找到了! gitolite 触发
快速说明:在有人指出之前,我最初是在 Server Fault 上发布这个的,但在发布之后我意识到这个站点可能更合适。抱歉“双重发帖”。 大约 6 个月前我安装了 gitolite,突然间我开始收到这
我正在尝试在 redhat 虚拟机上安装 gitolite。现在,机器未连接到互联网。因此,我无法运行标准安装的“克隆”步骤。我的机器上确实有源代码,当我运行“install -ln”步骤时 - 它会
完整的错误信息是: could not symlink /var/lib/gitolite/.gitolite/hooks/common/gitolite-hooked to subdir/myrep
我正处于让 Git 和 Gitolite 工作的最后阶段。这是目前的情况: 最佳答案 Gitolite 管理下的存储库没有工作副本。所以你要做的是创建另一个带有工作副本的存储库,提交数据并将它们推送到
我有一个奇怪的问题。我使用 TortoiseGIT (Win7) 并且我的存储库放置在虚拟服务器 (Debian) 上,我使用 gitolite 和 SSH key 。 我可以 clone存储库到我的
我是第一次设置 gitolite。我正在关注 this instructions . 当我 ssh 时,它看起来很好: $ ssh -p 2222 gitolite@debian PTY alloca
我已经配置了一个存储库和一组用户。 我已将该存储库的读取权限授予该组。 但是当我以不在组中的用户身份登录时,我能够读取存储库。 它在 gitweb 中列出了该存储库。为什么会这样? @all =
每当我尝试在我的笔记本电脑上克隆任何存储库时,我都会收到此消息: Unable to open connection: Host does not existfatal: Could not read
我已经在 ubuntu 服务器上设置了一个 gitolite 存储库,目的是让开发人员克隆/推送我们将要处理的项目。我在 repo 中的接收后 Hook 有问题。我在一个特定的 repo 中有一个接收
我尝试在 this manual 之后安装 git + gitolite - 使用来自服务器的根安装。我只是不明白新的 gitolite 用户是否必须拥有他们的用户帐户?。当我将 tester.pub
我对 gitolite 有点困惑权限。 仅允许 1 个分支并拒绝特定用户或组的所有其他分支的最佳方法是什么? 最佳答案 参见“partial-copy: selective read control
如何配置 git 和 gitolite 以允许特定用户仅更改特定目录内的文件? 例如原始主分支中的文件: /dir1/ /dir2/file1 /dir2/file2 /dir3/file1 用户 k
我正在尝试在我的服务器(Macos 服务器)上设置 gitolite。 我按照此处找到的安装文档中的说明进行操作: http://sitaramc.github.com/gitolite/doc/1-
我是一名优秀的程序员,十分优秀!