2010-07-11 113 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'"'