0

系统环境:

服务器:Centos 6.2

客户端:Windows + TortoiseSVN + putty

我在centos中安装了subversion,在服务器上创建了repository,并配置了svn+ssh使用密钥认证的访问方式。一切正常。但是我有一个关于 svn 用户使用 svn+ssh 模式的问题。

svn 用户有一个 ssh 密钥,所以他可以访问 subversion 服务器,当然他也可以使用密钥认证通过 SSH 访问 Centos 服务器。此外,他可以使用基于 SSH 的 WinSCP 工具从 centos 服务器复制 subversion 存储库文件(特别是 /db 文件)。那么,我想知道是否有一种方法可以让 svn 用户只能通过 svn+ssh 访问 svn 存储库,而不能直接通过 ssh 访问从 centos 复制存储库文件?如果他可以通过ssh从centos服务器复制repository文件,我认为conf/authz文件实现的svn访问控制没有任何意义,svn repository也不安全。

我只是学习如何创建一个 svn+ssh 颠覆服务器,所以可能我的知识还不够,请给我一个想法或告诉我是否存在解决方案。如果不能禁止通过 SSH 从 Linux 服务器复制文件,我会使用 svn 或 http(s) 访问模式。

谢谢!

4

1 回答 1

0

我找到了解决这个问题的方法。

将命令添加到 authorized_keys 文件以禁用 ssh shell 登录和 scp,但启用 svn+ssh,如下所示:

“/usr/bin/svnserve -t -r /svn/test/”,无端口转发,无 pty,无代理转发,无 X11 转发

添加您的 authorized_keys 文件后将如下所示:

command="/usr/bin/svnserve -t -r /svn/test/",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa A..... ..................................................... …………………………………………………………………………

我认为这是一种解决方案,您还有其他解决方案吗?请告诉我。

于 2012-09-09T06:42:38.713 回答