zoukankan      html  css  js  c++  java
  • 在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,右键删除即可

      

       

     

      5.2 启动成功,之后接着如下:

        》选择Users,点击Add

          

        》 点击Forward,选择用户,然后点击Forward,

          

        》 默认就行,然后点击Apply完成

          

        》然后回到User那个界面,点击Keys

          

       

       》 查看对于的用户是否生成密钥,有则跳过,没有则生成

        

       》生成密钥,点击上面的Add,然后一直Forward,见到如下页面

        

      》 然后点击Forward,Apply即可完成

    6、验证ssh用户

      6.1 打开 Start a Unix BASH Shell

        》 输入 cd /home/用户名/.ssh,如下即可

        

      6.2 测试远程ssh连接(需要开启22端口)

        》 在另外一台计算机(或者本机)打开一个cmd,然后输入(git为用户名):ssh git@192.168.2.2

        》然后提示输入密码,即表示成功连接

        * 如果出现如下错错误:

          SSH登陆错误"WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! "

           

          

        原因:ssh安装卸载多次,一般是因为在本计算机连接过远程的计算机,本地保存之前的连接信息,现在只需要删除之前的连接信息即可:

        解决方法:(在cmd,或者git bash输入)

          》 rm  ~/.ssh/known_hosts

     7、接下来需要使用git的命令(上面连接成功,仅仅可以使用Linux命令,git命令还是无法使用)

      测试方法:连接成功之后,输入:git。可以看到git命令相关信息,表示可以使用git。

      一般这里有两种选择,第一步(7.1)不行,请继续第二步(7.2)。

      7.1  把git的一些必要文件复制到ssh的安装目录下

        》把将$ Gitlibexecgit-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到$ICWin目录下

        》将$Gitin目录下的libiconv-2.dll复制到$ICWin目录下

        》将$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

  • 相关阅读:
    107. Binary Tree Level Order Traversal II
    103. Binary Tree Zigzag Level Order Traversal
    102. Binary Tree Level Order Traversal
    690. Employee Importance
    1723. Find Minimum Time to Finish All Jobs
    LeetCode 329 矩阵中最长增长路径
    7.2 物理内存管理
    LeetCode 面试题 特定深度节点链表
    LeetCode 100 相同的树
    npm安装包命令详解,dependencies与devDependencies实际区别
  • 原文地址:https://www.cnblogs.com/reader/p/6286501.html
Copyright © 2011-2022 走看看