标签: svn-server

OpenSSH 子系统(或 command= option)背后的原理是什么?

在 OpenSSH 中,可以在配置文件 ( /etc/ssh/sshd_config) 中声明一个子系统或强制执行命令,例如svnserve通过将其包含在authorized_keys特定键的行中,如下所示:

command="svnserve -t --tunnel-user=alice" ssh-dss AAAA...
command="svnserve -t --tunnel-user=bob" ssh-dss AAAA...
Run Code Online (Sandbox Code Playgroud)

从而允许同一系统用户在 Subversion ( svnserve) 上下文中被重用为不同的“身份” 。

我将如何编写像svnserve我这样的服务,允许指定隧道的使用以及在这些情况下数据传输的确切方式?特别是svnserve实例如何“知道”通过哪种方式输出数据或读取输入?在这种情况下,这一切是否都是通过stdout和发生的stdin,如果是这样,是否也有区分的方法stderr

我想象子系统和command=它们使用相同的机制,但如果我错了,请纠正我。

no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty为了简洁起见,我省略了,但我知道它们以及它们在场景中的用途。)

openssh svn-server ssh-tunnel

3
推荐指数
1
解决办法
5008
查看次数

我应该如何更改为 svn 协议而不是 http

我当前的 svn 服务器路径是

http://file/repo/test

但我想使用 svn 协议而不是 http

svn://file/repo/test进行 SVN 同步

我需要做什么。

请帮忙。

svn svn-server

1
推荐指数
1
解决办法
1629
查看次数

标签 统计

svn-server ×2

openssh ×1

ssh-tunnel ×1

svn ×1