我有一个古怪的问题,我花了几个小时无济于事。我在同一目录中的服务器上有两个SVN存储库。我通过svn + ssh以完全相同的方式访问它们但我能够访问一个但不能访问另一个。以下是详细信息:
存储库存在于/ home / user1 / repo1和/ home / user1 / repo2中。 我已经设置了ssh,以便authorized_keys文件有一个看起来像这样的条目:
command="svnserve -t --tunnel-user=user1 -r /home/user1/repo1",
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa ...
我之所以这样做是因为用户只能访问服务器以获取对存储库的svn访问权限。 这是我的问题。我可以通过以下命令访问/ home / user1 / repo1:
svn co svn+ssh://user1@192.168.1.101/home/user1/repo1
但我无法访问
svn co svn+ssh://user1@192.168.1.101/home/user1/repo2
我可以在服务器上使用本地文件:/// Url访问repo2。
如果我从autorized_key条目中删除“command = ...”部分,我可以远程访问repo2。也就是说,如果我向用户提供不受限制的ssh访问权限。我尝试过尝试本地化问题。
我尝试设置SVN_SSH =“ssh -v”来获得详细输出。
此显示后发生访问失败:
debug1: Sending command: svnserve -t
两个存储库的svnserve.conf文件都是相同的。我忘了我是如何创建没有任何问题的存储库的。如果有帮助的话,我创建了一个使用 svnadmin创建完整路径失败的新版本。