我在我拥有的共享主机帐户上设置了一个远程 Git 存储库。为了允许其他开发人员推/pull ,我将他的公钥 (id_rsa.pub) 添加到共享主机上 .ssh/authorized_keys 的末尾。然后他就可以做“git push”了。但是我想确保他不能在我的共享主机上做任何其他事情,只能访问 git,所以我将这个添加到了他在授权 key 的开头,根据 man authorized_keys :
command="/usr/bin/git",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa ...
现在,当他执行 git-push 时,它会在命令行上响应“致命:协议(protocol)错误:错误的行长度字符”。
我用谷歌搜索过,发现其他人也有这个问题,但是如果不允许其他用户访问我的共享主机帐户上的 shell,就无法找到足够的答案来解决这个问题。
最佳答案
您需要限制其他开发人员的 key 运行 git-shell
如在
command="/usr/bin/git-shell -c\"${SSH_ORIGINAL_COMMAND:-}\"",no-port-...
关于git push 返回 "fatal: protocol error: bad line length character",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3224340/