以前只接触过Http协议的SVN URL,顶多也就是再安全一点的Https。这天要接手一个新项目,IT组给过来一个URL svn+ssh://XXX,习惯性的贴到TortoiseSVN的CheckOut地址栏里,结果当然是下不了。第一次接触SSH协议,费了点时间才弄好,整理了一下Share出来。

TortoiseSVN

首先自然是下载安装 TortoiseSVN,参见网址 http://tortoisesvn.sourceforge.net/

然后是设置 SSH client 右键菜单里找到TortoiseSVN Setting -> Networks –> SSH 定位到TortoisePlink的位置,一般是在C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe。p_w_picpath 

根据官网的说法,可以用如下形式避免每次都输入用户名密码:

C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l username -pw password

遗憾的是,IT组仅仅给了我一个KEY,没法试。弄好TortoisePlink后,需要配置Putty。

Putty

需要一个私钥并在Putty里保存一个Session。私钥可以用PuttyGen生成,因为IT已经把私钥给我了,省掉了这一步。在Putty里新建一个Session。

p_w_picpath

需要注意的是保存的Session名称是有要求的,不能随便起,要跟服务器一致,我就在这里浪费了不少时间。接下来切到Connection->Data->Auto-login username,在这里输入对应的用户名。

p_w_picpath

然后就是指定私钥,Connection->SSH->Auth

p_w_picpath

Ok,到这里基本就大功告成了。千万注意了,回到Session去保存一下。保存完后,双击它打开连接。p_w_picpath

好,现在再来Checkout试试。复制URL,粘贴,OK,GO。。。( ⊙o⊙ )哇成功了!!!

Subclipse

在Eclipse中也是我们可以用Subclipse来管理代码,只需小小的配置一下就可以支持SSH协议的URL。不过也请先安装TortoiseSVN,因为TortoisePlink还是要用到的。

添加环境变量:SVN_SSH 指向到TortoisePlink,请注意使用\\分割。

p_w_picpath

\(^o^)/~,咱来试试,打开SVN视图,新建一个URL,短暂的等待后,开始取代码,( ^_^ )不错,搞定了。

虽然是可以工作了,但里面的原理还没弄得很清楚,尤其是服务器那块。做了一下扩展研究。Packtpub.TortoiseSVN.1.7.Beginners.Guide 这本书第10章Using SSL with TortoiseSVN正好讲到了SSH。

为什么要用SSH

安全嘛,不光SSH,SNV还支持SSL。

SSL(Secure Sockets Layer). 通常使用 443 端口,常用于金融行业传送数据。

SSH(Secure Shell). 通常使用 22 端口,常见于远程登录和数据传输。

VisualSVN Server

咱到Windows下试验一把吧。

1.下载,到http://www.visualsvn.com/server/download/下载免费的标准版。

2.安装

这一步请选VisualSVN Sever and Management Console

p_w_picpath 

这一步请注意勾选上使用Https,并开放443端口。

p_w_picpath 

接下来一路Next就OK了。

3.使用

先来建一个 repository。

p_w_picpath

 

p_w_picpath

然后再新建一个用户。

p_w_picpath

用户账号是建好了,再给你授点权。右键单击刚建好的repository,选择Properties菜单选项。

p_w_picpath

把刚才创建的用户baby Add 进去。

p_w_picpath

把权限调整一下。Oh Baby,只有你能写。

p_w_picpath

4.客户端操作

右键单击Repository复制URL到剪贴板,https://xxx.net/svn/Lovespss/。贴到TortoiseSVN里,提示输入用户名密码。

p_w_picpath

登录后效果图,(不好意思,URL里有些信息,不便透露)。

p_w_picpath

原来SVN服务器的架设可以简单到这种地步,O(∩_∩)O~,不过还是没接触到更多的关于SVN+SSH东东。再研究吧