如何为GIT仓库创建一个受限制的SSH账户?

6

我应该如何在Linux机器上创建一个被监禁的用户,只用于Git仓库?

2个回答

10

git-shell 是一种受限制的shell,您可以将其用于此目的。

如果您将用户的登录shell设置为 git-shell,那么他只能运行一组有限的服务器端git助手函数,这些函数使远程git通过ssh使用成为可能,但不允许正常登录。


2
这里有一个关于如何实现的好文档:http://progit.org/book/ch4-4.html - Riccardo Galli
感谢您的好答案。对于未来的读者,我最终在此网站上找到了简单的设置步骤:http://notepad2.blogspot.com/2012/04/git-over-ssh-restrict-user-to-git.html - user605331

1
还要看一下gitosis。特别是它会在.ssh/authorized_keys中设置一些参数来防止端口转发等操作:
command="gitosis-serve user@host",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAA....

即使你不使用gitosis,你可能也想包含限制选项。

2
Gitosis已不再由作者维护和支持;大多数人通常建议使用gitolite代替,它具有更好的文档和更多的功能:http://github.com/sitaramc/gitolite - Seth Robertson
@Seth - 哦,我没有注意到gitosis已经被弃用了(尽管上次更新是在2009年,我想我应该早点知道)。谢谢提醒! - Dean Serenevy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接