2010-07-11 109 views
1

我在我拥有的共享主机帐户上设置远程Git存储库。为了允许其他开发人员推/拉,我在共享主机上将公钥(id_rsa.pub)添加到.ssh/authorized_keys的末尾。然后,他能够做“混帐推”。但我想,以确保他不能做任何事情对我的共享主机,但访问混帐,所以我说这个他在authorized_keys中项目的开头,根据man authorized_keysgit push返回“致命:协议错误:坏行长度字符”

command="/usr/bin/git",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa ... 

现在,当他做git-推,它在命令行上响应“致命:协议错误:坏行长度字符”。

我用Google搜索过,发现其他人有这个问题,但是找不到足够的答案来解决这个问题,而不允许其他用户访问我的共享主机帐户上的shell。

回答

3

您需要的其他开发人员的主要限制运行git-shell

command="/usr/bin/git-shell -c \"${SSH_ORIGINAL_COMMAND:-}\"",no-port-...
0

检查,如果你有一个本地命令你~/.ssh/config

Host * 
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"' 

如果你这样做,请确保您在使用git服务器时不要执行该命令。您可以通过覆盖LocalCommand来代替所需的主机:

Host *github* 
    LocalCommand '' 

Host * 
    LocalCommand echo 'Connected as "'%r'" to "'%h'"' ; echo 'SSH host "'%n'"'