推送到远程git-server时权限被拒绝(publickey)

时间:2013-03-12 17:36:21

标签: git

我尝试在远程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). fatal: The remote end hung up unexpectedly,但我没有使用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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

通过跟随GIT_TRACE=1重新运行任何git命令,例如

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

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

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

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