设为首页 收藏本站
查看: 1716|回复: 0

[经验分享] Windows下搭建基于ssh的git服务器

[复制链接]

尚未签到

发表于 2015-10-19 10:51:58 | 显示全部楼层 |阅读模式
  最近接触到了git,感觉到了它的强大和方便,git在linux环境下使用起来是非常方便,但如何在windows下搭建一个基于ssh的git服务器呢?闲话不多说,开始。
  本文系本人原创,若要转载,请注明文章出处。http://blog.iyunv.com/ccf0703
  

  1、所需的软件下载及安装
  所需工具下载地址:
  msysgit    http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git

  copssh    http://www.onlinedown.net/soft/20018.htm
  

  若只要使用git,只需要安装msysgit就行了。copssh是一个ssh服务器软件。
  

  msysgit的安装:
  我把安装中关键的几步截图说明,其余直接点击next 就行。
DSC0000.jpg

  关于安装路径说明,最好放到每个盘的根目录下,这里我放到了c盘根目录下,注意:路径最好不要有空格,因为空格不好处理,所以这也是没有放到Program Files目录下的原因。
  接下来的几步,按照图片所示选择即可
DSC0001.jpg

DSC0002.jpg

DSC0003.jpg

  然后等待安装完成即可
  copssh的安装直接下一步就行。需要注意的还是路径问题,跟上面一样,最好放在根目录下,我这里放到了d盘。

  安装完成。所需环境已经搭好了。
  

  2、对程序做相应配置
  

  一、git相应配置
  打开 DSC0004.jpg 这个图标,进入命令行。在这里,git的命令都可以使用,配置好git的user.name和user.email。git的使用,这里不多说。
  接着,在命令行下,使用命令
  ssh-keygen -t rsa
  创建一对公私钥,默认放到当前用户目录下的.ssh文件夹中。用记事本打开后缀为.pub的公钥文件,复制其中的内容,用于接下来的copssh的配置。
  二、copssh的配置
  从开始菜单中找到安装好的copssh文件夹,打开其中的COPSSH Control Panel。
  切换到Users选项卡。若Activated users下为空,则点击旁边的“Add”按钮。
  在弹出的窗口中点击“Forward”,进入下一步,接着,在User中选择一个用户后,点击“Forward”,接着把options的第一个选项“Allow password authentication”的勾去掉,因为我们要用公私钥来登陆,不用密码登陆。接着点击“Forward”完成用户添加。添加后应该如下图。
DSC0005.jpg

  

  接着,点击右下方的“Keys”按钮,弹出窗口。这里显示的就是ssh服务器中保存的公钥信息了。若有公钥信息,用户就可以使用对应的私钥来远程登陆到ssh服务器进行相应的操作了。第一次我们安装的时候,public key里应该是空的,我们现在要做的,就是把上一步中,我们自己生产的公钥的信息,添加到这里来,步骤如下。
  找到COPSSH的安装目录,然后打开其中的home文件夹,可以看到里面有以我们刚加入的user的名字命名的文件夹,进入其中,打开.ssh文件夹。在里面新建一个名字为authorized_keys的文件。注意,这里没有任何后缀。然后用记事本打开,然后将刚才我们配置git时产生的公钥里的全部信息复制拷贝到这个文件里。然后,保存退出。
  回到COPSSH Control Panel中,将点击“Keys”产生的窗口关闭后,再打开,会看到其中有了一个公钥信息了,如下图。
DSC0006.jpg

  到了这里,我们已经可以使用我们的私钥,来登陆这个ssh服务器了。打开“Git Bash”。在命令行里输入
  ssh ccf@192.168.1.100

  ccf就是在COPSSH中配置的用户名,192.168.1.100是我的ip地址,这些都根据你自己的设置,配置成自己的信息。登陆成功后如下图。
DSC0007.jpg

  接下来你会发现,登陆成功以后,可以使用linux的命令,但是git的命令还是不能使用,别急,接下来我们解决这个问题。
  我使用的解决方法很简单,如下。
  
将$ Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe ,git-upload-pack.exe复制到$ICW\bin目录下

  
将$Git\bin目录下的libiconv-2.dll复制到$ICW\bin目录下

将$Git下的share目录整个拷贝到$ICW下。

其中,$Git是指msysgit的安装目录  ,同理$ICW指COPSSH的安装目录。  

  至此,配置完毕,接下来,开始使用。
  

  3、git服务器的测试
  打开“Git Bash”,使用命令
  ssh ccf@192.168.1.100

  连接到ssh服务器。这个命令上面有说明。
  然后依次使用下列命令
  mkdir test.git

  cd test.git

  git init --bare

  新建一个名为test.git的文件,并在其中建立一个纯git仓库。
  然后使用命令exit退出ssh服务器
  然后依次输入下面命令:
  cd d:

  mkdir test

  cd test

  git clone ccf@192.168.1.100:test.git .

  在d盘下新建一个test文件夹并从服务器clone一个git仓库。
  接着依次输入下列命令
  touch a b c

  git status

  git add .

  git commit -m "just for test"

  git push origin master

  一切正常,也能push到服务器上,至此,git服务器搭建并测试完毕。
  4、自己搭建git服务器用途
  做了上面这些到底有什么用呢?如果你是在自己家里上网,你可以在自己电脑上搭建一个git服务器,提供给你的朋友使用,可以和你的朋友一起开发一个东西,而且不用再一起就行,只要能连上因特网。
  当然要做一个服务器,首先要能连接到外网,如果你处在路由器的局域网内,需要做  端口映射,ssh服务器的端口号是22,至于怎么做,可以谷歌之,当然条件是,你家里的路由要是连的是internet。我就悲剧了,因为用的宽带通,本身就在他们的局域网内,而我没法登陆他们的路由去管理,所以也就没有实验。(早知用联通了。。。哎。)
  至于对PPOE拨号IP地址会变动的问题,给你一个解决方案:动态域名解析。有免费的可以用,比较有名就是花生壳和希网,个人觉得,希网比较好用,这个,看个人喜好了,哈哈。如果对这个不了解,请谷歌(不要问我为什么不用百度)。
  好了,这篇文章就到这里。最后吐槽一下,第一次写技术总结,发现可真累,整整写了一下午啊。以前总看别人的不觉得,向乐于奉献的人致敬。
  有什么问题,欢迎留言。大家一起学习,进步。
  

         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-128615-1-1.html 上篇帖子: 新手git: ssh: connect to host localhost port 22: Connection refused 下篇帖子: DigitalOcean初始化--使用SSH Keys登录(Windows篇)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表