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

[经验分享] windows 下搭建git服务器,及问题处理。

[复制链接]

尚未签到

发表于 2018-1-15 09:08:19 | 显示全部楼层 |阅读模式
  最近要做一个源码管理服务器,权衡了一下还是git最适合,搭建服务器前看了网上一些windows下搭建git服务器的帖子,感觉还比较简单,没有太多需要配置的地方,于是开始动手。
  我选择的是 gitfor windows + Tortoisegit + Copssh
  gitfor windows下载地址 http://msysgit.github.io/  最新版的 Git-1.9.4-preview20140611
  putty 用来测试ssh连接 同时还需要工具 puttygen 用来转换 copssh生成的私钥,它们两个格式不一样,连接的时候不注意就会在这里出问题,我就栽到这个坑里。
  先安装Copssh  再 gitfor windows ,Tortoisegit 安装过程比较简单,不想罗列太多的图片,不清楚怎么安装的去找度娘。
  安装好之后,有几点需要注意的:
  1. 配置Tortoisegit:TortoiseGit>Settings

  配置好git路径
  2. 创建一个git账户管理员权限
  3. 在copssh里激活 git 用户





  用户激活成功,下面生成公钥和私钥





  输入密码,此密码为ssh密钥登陆密码。私钥名称,私钥默认放在 copssh 安装目录 \ICW\home\用户名  下面   ,公钥在 \ICW\home\用户名\.ssh 下面 名称为:authorized_keys

  ok,公钥跟私钥生成成功,下面打开puttygen 将私钥转换成 putty格式

  点击 Load 选择刚才生成的 private_key.ppk 文件,输入密码

  点击 Save private key 保存私钥,注意不要覆盖原来的私钥,copssh 私钥格式跟 putty私钥格式不一样,测试ssh连接时用 puttygen 生成的私钥
  客户端git连接ssh服务器的时候要用copssh生成的私钥。 我在刚开始搭建服务器的时候客户端用的putty生成是私钥,putty测试连接没有问题,用
  git 连接是老是报没有权限,郁闷了一天后来才发现问题出在这里。
  4. 找到copss安装目录C:\Program Files (x86)\ICW\etc
  下面的sshd_config,跟ssh_config 文件
  PasswordAuthentication 设置为 no
  port 设置为 22
  防火墙打开22端口  用 telnet 命令链接查看是否能够连接,没问题接着下面走
  根据自己的安装目录, 将C:\Program Files (x86)\Git\libexec\git-core目录下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe复制到C:\Program Files (x86)\ICW\bin目录下
  C:\Program Files (x86)\Git\bin 目录下的libiconv-2.dll复制到 C:\Program Files (x86)\ICW\bin目录下
  用putty 测试是否能够连上服务器

  填上服务器名称端口

  Author选项,导入私钥点击 open ,如果能够连接说明ssh服务器搭建成功。
  5. 客户端Git配置
  (最好的做法是在客户端用  ssh-keygen -t rsa 生成公钥跟私钥  把公钥加到 服务器 \ICW\home\用户名\.ssh 下面 authorized_keys 里面
  私钥放到 客户端 用户名/.ssh 目录下)
  将生成的私钥放到客户端 用户名/.ssh 目录下
  同目录下添加 config文件,注意没有扩展名
  文件输入如下内容
  Host server            #执行git命令时服务器别名#
  HostName 192.168.1.110   #这里是你服务器的地址#
  User  git                            #登陆服务器用户名#
  IdentityFile ~/.ssh/private_key.ppk #私钥地址#
  6. 服务器端 在\ICW\home\用户名 下用Tortoisegit 创建一个文件夹   test.git
  右键 Git Create repository here..  勾选 Make it Bare ( No working directories) 创建空仓库
  7. 客户端执行 $git clone git@server:test.git  输入密码

  ok,克隆成功至此git服务器搭建好了!
  可能遇到的问题:
  A.  私钥不要搞混了用 putty 连接同 git 连接是用两不同的私钥,私钥不对是话会报错:
  Permission denied (keyboard-interactive).
  fatal:Could not read from remote repository.

  如果出现这种情况不能确认是否是私钥有问题时可以这样处理:
  到服务器端激活密码验证,
  找到copss安装目录C:\Program Files (x86)\ICW\etc
  下面的sshd_config,跟ssh_config 文件
  PasswordAuthentication 设置为 yes
  这样的话连接服务器需要输入git用户 的用户密码,通过用户名登陆,不走密钥验证,如果能连接成功,说明一定是私钥问题。
  B. 缺少文件
  我在克隆时碰到过缺少libiconv-2.dll 的情况
  git 提示 /user/bin/git-upload-pack.exe: error while loading shared libraies: libiconv-w.dd: cannot open shared object file: No such file or directory
  只需将C:\Program Files (x86)\Git\bin 目录下的libiconv-2.dll 复制到 C:\Program Files (x86)\ICW\bin目录下就可以了

  第一篇博文,没太注意排版,目的是帮大家解决问题,如果看了我的文章真对大家有所帮助请赞一下咯!

运维网声明 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-435237-1-1.html 上篇帖子: Git Step by Step – (6) Git远程仓库 下篇帖子: Git/Github的使用以及与Eclipse的整合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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