zhuce 发表于 2018-1-13 15:48:24

在window系统下搭建基于ssh的git服务器

  以下是基于window server 2012搭建的,学习搭建过程需要很多问题,找了许多文章做了一下总结。
  1、所需的软件

[*]Git for Windows: MsysGit(Git-1.7.4-preview20110204.exe)
[*]OpenSSH for Windows: CopSSH(Copssh_4.0.4_Installer.exe)
  2、安装git
  一般都是默认安装就行
  3、安装copssh
  也是默认安装
  安装完成后主要有:Copssh Control Panel、Start a Unix BASH Shell
  4、新建用户
  》控制面板》用户帐户》用户帐户》管理帐户》新建用户(如git)
  取消用户下次登录时须更改密码,设置密码永不过期。
  5、打开 Copssh Control Panel
  5.1 绿色表示成功启动,如果是红色,请重新安装。
  *如果之前安装过又卸载,可以尝试如下:
  删除系统用户SvcCOPSSH(windows用户):
  (1)开始-计算机,右键,点击管理,进入计算机管理界面
  (2)展开[本地用户和组],展开用户列表,选中系统用户SvcCOPSSH,右键删除即可
https://images2015.cnblogs.com/blog/709419/201701/709419-20170114213101822-660340924.png
  5.2 启动成功,之后接着如下:
  》选择Users,点击Add
https://images2015.cnblogs.com/blog/709419/201701/709419-20170114230708197-1475496015.png
  》 点击Forward,选择用户,然后点击Forward,
https://images2015.cnblogs.com/blog/709419/201701/709419-20170114230937697-2026086091.png
  》 默认就行,然后点击Apply完成
https://images2015.cnblogs.com/blog/709419/201701/709419-20170114231217010-1530441231.png
  》然后回到User那个界面,点击Keys
https://images2015.cnblogs.com/blog/709419/201701/709419-20170114232636994-266797816.png
  》 查看对于的用户是否生成密钥,有则跳过,没有则生成
https://images2015.cnblogs.com/blog/709419/201701/709419-20170115004640697-1347407064.png
  》生成密钥,点击上面的Add,然后一直Forward,见到如下页面
https://images2015.cnblogs.com/blog/709419/201701/709419-20170115004837869-758948902.png
  》 然后点击Forward,Apply即可完成
  6、验证ssh用户
  6.1 打开 Start a Unix BASH Shell
  》 输入 cd /home/用户名/.ssh,如下即可
https://images2015.cnblogs.com/blog/709419/201701/709419-20170115005256369-1190189469.png
  6.2 测试远程ssh连接(需要开启22端口)
  》 在另外一台计算机(或者本机)打开一个cmd,然后输入(git为用户名):ssh git@192.168.2.2
  》然后提示输入密码,即表示成功连接
  * 如果出现如下错错误:
  SSH登陆错误"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! "
https://images2015.cnblogs.com/blog/709419/201701/709419-20170115004012088-734624262.png
  原因:ssh安装卸载多次,一般是因为在本计算机连接过远程的计算机,本地保存之前的连接信息,现在只需要删除之前的连接信息即可:
  解决方法:(在cmd,或者git bash输入)
  》 rm~/.ssh/known_hosts
  7、接下来需要使用git的命令(上面连接成功,仅仅可以使用Linux命令,git命令还是无法使用)
  测试方法:连接成功之后,输入:git。可以看到git命令相关信息,表示可以使用git。
  一般这里有两种选择,第一步(7.1)不行,请继续第二步(7.2)。
  7.1把git的一些必要文件复制到ssh的安装目录下
  》把将$ 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的安装目录。
  7.2 如果经过7.1还是不成功,则如下:
  》 修改 $ ICW/home/git/.bashrc 文件,增加如下行(注意:红色部分为git安装目录):
  gitpath='/cygdrive/c/Program Files/Git/mingw64/bin'
  gitcorepath='cygdrive/c/Program Files/Git/mingw64/libexec/git-core'
  PATH=${gitpath}:${gitcorepath}:${PATH}
  》修改 $ ICW/etc/profile,在文件末尾增加如下行(注意:红色为git安装目录)
  gitpath='/c/Program Files/Git/mingw64/bin'
  gitcorepath='cygdrive/c/Program Files/Git/mingw64/libexec/git-core'
  export PATH="/bin:$syspath:$gitpath:$gitcorepath:$winpath"
  8、测试git服务器
  8.1 连接ssh服务器
  》打开“Git Bash”,使用命令
  》ssh ccf@192.168.1.100
  连接到ssh服务器。这个命令上面有说明。
  然后依次使用下列命令
  8.2 在服务器新建git仓库
  》mkdir test.git
  》cd test.git
  》git init --bare
  新建一个名为test.git的文件,并在其中建立一个纯git仓库。
  》然后使用命令exit退出ssh服务器
  8.3 在本地计算机,克隆远程仓库,提交测试
  》cd d:
  》mkdir test
  》cd test
  》git clone git@192.168.1.1:test.git .
  在d盘下新建一个test文件夹并从服务器clone一个git仓库。
  接着依次输入下列命令
  》touch a b c
  》git status
  》git add .
  》git commit -m "测试"
  》git push origin master
  9、 修改用户登录后的目录
  9.1 修改 $ ICW/home/用户名/.bashrc ,在末尾增加如下:
  》 cd C:/MyPorgramPath
  9.2 修改 $ ICW /etc/password文件,修改对于用户的路径(红色部分为需要修改的路径)
  git:XXXXXX:/cygdrive/c/Project:/bin/bash
  1
页: [1]
查看完整版本: 在window系统下搭建基于ssh的git服务器