我在服务器上有一个 svn 存储库,可以通过 svn+ssh 访问。我只有用户访问权限(不是 root),并且无法安装 mod_dav。
有没有办法配置多个用户访问 svn 存储库(即使用多个 ssh 密钥),而无需向其他 svn 用户提供完全 ssh 访问权限?
答案1
当然,只需使用强制命令/usr/bin/svnserve -t
(或适当的备用路径)将额外的密钥放入authorized_keys中。
答案2
womble 的意思是,你只能在 authorized_keys 中为一个 ssh 公钥分配一个命令。
command="/usr/bin/svnserve -t" ssh-rsa ...
在这个例子中,通过 ssh 密钥访问的用户只能运行命令/usr/bin/svnserve -t
。
答案3
有三种方法可以访问 subversion:
- 通过 Apache
- svnserve
- 通过 SSH 访问 svnserve
http://svnbook.red-bean.com/en/1.5/svn.serverconfig.html
如果您已排除所有这些,那么您需要将您的 Subversion 存储库移到其他地方或不允许人们访问。
答案4
您可以为每个想要访问的人提供一个公钥,他们可以使用该公钥通过同一个 SSH 用户进行连接。强制每个密钥只能运行,svnserve -t --tunnel-user=<username>
为每个密钥提供单独的 SVN 身份。这在詹姆斯·加德纳 (James Gardner) 的博客文章。