在svnserve入门一文中, 介绍了svnserve的配置和限制未经授权的用户访问.
然而,没有加密链接到svnserve也是一个问题,如果在局域网络和可信任的网络是可以的,但是使用不信任的网络,如互联网链接,就得要用ssh以确保数据传输的安全。
SSH检出
复制代码代码示例:
svn co svn+ssh://192.168.1.118/home/demo/repository/project1/trunk project1
与上一篇文章的例子的区别是:
端口错误
复制代码代码示例:
svn co svn+ssh://192.168.1.118/home/demo/repository/project1/trunk project1
ssh: connect to host 192.168.1.118 port 22: Connection refused 如果使用默认22端口链接ssh的(特别不推荐的使用默认端口),请阅读下一节将会通过命令行去添加用户名。
配置subversion
SSH检出 (checkout)
复制代码代码示例:
svn co svn+project1ssh://192.168.1.118/home/demo/repository/project1/trunk project1
这次,输出结果如下:
svnserve
快速查找svnserve的进程:
复制代码代码示例:
ps aux | grep svn
输出结果: demo 2495 0.0 0.3 45856 940 ? Ss 20:02 0:00 svnserve -d -r repository/ demo 2501 0.0 0.2 3936 724 pts/0 S+ 20:02 0:00 grep --color=auto svn
注意:svnserve的进程(pid)是2495,kill既可以。
复制代码代码示例:
sudo kill 2495
检查svnserve是否被杀,重复ps aux 命令即可以。
复制代码代码示例:
iptables
现在现在是通过配置iptables阻止端口3690,打开iptables的测试文件:
复制代码代码示例:
sudo vim /etc/iptables.test.rules
输入
打开root的临时权限:
复制代码代码示例:
sudo -i
初始改变:
复制代码代码示例:
iptables-restore < /etc/iptables.test.rules
检查svn端口是否关闭:
复制代码代码示例:
iptables -L
如果端口关闭,保存iptables设置并退出root:
复制代码代码示例:
iptables-save > /etc/iptables.up.rules
... exit |