简单地说,SVN+SSH (SVN over SSH) 协议的工作方式就是在SVN客户端与服务器端先建立一个SSH连接,然后通过SSH连接推送命令和传输数据,从而借助SSH实现更加安全的SVN通信。使用SVN+SSH方式访问Repository,与普通的http或https方式最大的不同,或者说仅有的不同就是通过SSH安全认证登录到远程主机建立SSH连结,如果这一步完成了,剩下的就是纯SVN操作了。在正式开始前,请选择安装本文讨论和使用到的下列工具:
TortoiseSVN: http://tortoisesvn.tigris.org/
Subclipse: http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA
本文原文链接:http://blog.csdn.net/bluishglc/article/details/8705864 转载请注明出处!
一、从SVN+SSH://地址谈起
这个地址是sourceforge工程的标准SVN地址格式,youraccount代指你的sourcegorge帐号(帐号部分不是必需的,你可以在连接SSH主机时通过其他方式告知你的登录帐号,比如使用putty保存好的session,这种例子会在后面的实验三中演示),yourproject代指你的工程。如果我们从SSH的角度来解读这个地址,那么这个地址告诉SSH了客户端两个重要信息:1. SSH远程主机的地址:svn.code.sf.net,2. 登入SSH远程主机的帐号:youraccount。实际上,基于这两个信息再加上你掌握的帐号密码,我们就可以登录svn.code.sf.net了,一个简单的验证方法就是使用PuTTY连接一下svn.code.sf.net,输入你的帐号密码登入,之后就会得到如下的消息:
“Welcome to *.svntest.sourceforge.net ” 表示你已经登录成功,但是SSH主机不会为你分配终端,然后直接关闭了连接,不过这并不重要,关键是我们已经确认使用地址中给出的主机地址和帐号是可以建立SSH连接的。
二、TortoiseSVN是如何自动登录到SSH远程主机的
确认了可以建立SSH连接后,我们可以直接使用TortoiseSVN访问这个地址,不过你会发现,TortoiseSVN会不停地要求你输入帐号密码(这种情况正是下文“实验一”演示的),如果你坚持每次都输入,最后就能得到完整的Repository目录结构,这表明,单独使用Tortoise可以直接访问svn+ssh://youraccount@remoteserver/xxxx/xxxx 格式的地址ÿ