0

我尝试在我的远程 git-server 上创建新的存储库

cd /var/www/vhost/example.com
sudo git init
sudo git remote add origin ssh://git@111.111.111.111:30000/home/git/repositories/example.git
sudo git add .
sudo git commit -a -m "Create empty example.com dir"
sudo git push origin master:refs/heads/master

我的 ssh 配置:

Host 111.111.111.111
User git
Port 30000
IdentityFile ~/.ssh/id_rsa

我的 gitosis-admin.conf

[gitosis]

[group gitosis-admin]
members = git@111.111.111.111
writable = gitosis-admin

[group example-com]
members = git@111.111.111.111 user@user
writable = example-com

获取错误

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

我可以

ssh git@111.111.111.111

没问题,但不能推。我做错了什么?我还研究了类似的先前问题GitHub:Permission denied (publickey)。致命:远程端意外挂断 ,但我不使用github。

更新:好的,我认为 sudo 有问题。

此命令完成但没有出现某种错误:

git push origin master:refs/heads/master

这个命令:

sudo git push origin master:refs/heads/master

完成错误:

Permission denied (publickey).
fatal: The remote end hung up unexpectedly
4

2 回答 2

0

使用 重新运行任何 git 命令GIT_TRACE=1,例如

GIT_TRACE=1 git push origin master:refs/heads/master

所以你可以看到更多的输出和执行的命令来检查 git 失败的原因。

如果在 Windows 上工作,GIT_TRACE请使用任何值定义用户变量,这样它将为所有 git 命令启用调试模式。不需要时移除。

您也可以使用:GIT_SSH_COMMAND="ssh -vv"(Git 2.3.0+)。

于 2014-04-29T21:22:07.767 回答
0

我们死了你存储你的 SSH 配置,通常配置在主目录中,所以 root 有不同的主目录和不同的 SSH 配置,我认为你必须将配置保存在 root 的主目录中。

于 2013-03-13T16:45:04.133 回答