在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的安装目录下
》把将$ 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
在window系统下搭建基于ssh的git服务器的更多相关文章
- Windows下搭建基于SSH的Git服务器
Git客户端安装 客户端要同时安装在远程服务器和自己的电脑上,下载地址:http://msysgit.github.io/ 选择安装组件 :也可以默认选择; 图标组件(Addition icons) ...
- Windows 7下 搭建 基于 ssh 的sftp 服务器
Windows xp 下 搭建 基于 ssh 的sftp 服务器,服务器端可以用 freesshd,F-secure server等,filezilla server不可用,之前傻乎乎的用file ...
- window系统下搭建本地的NuGet Server
1. NuGet.Config文件所在的目录: C:\Users\xxx\AppData\Roaming\NuGet 2.将nupkg为结尾的文件放在 项目的Packages目录下.(注意是和web. ...
- Window系统下搭建GIT本地服务器
转载:https://blog.csdn.net/qwer971211/article/details/71156055
- windows下搭建基于nginx的rtmp服务器
https://blog.csdn.net/fireroll/article/details/51985688 Windows机器配置:Windows7旗舰版 64位Intel(R) Core(TM) ...
- [IDS]CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统,超详细!!!
最详细的CentOS6.6下搭建基于snort+barnyard2+base的入侵检测系统免责声明一.如果因为使用本文档照成损失(系统崩溃.数据丢失等),作者不承担任何责任.二.本文档只是个人使用本文 ...
- 记录Window系统下myeclipes连接linux下mysql所出现的一个bug
记录myeclipes远程连接mysql所出现的一个bug 今天在玩框架hibernate时,出现一个非常费解的bug,话不多说,先看bug Access denied for user 'root' ...
- 在window系统下配置login.sql
在window系统下配置login.sql 他的位置是登录用户的文件夹,我的win7系统位置是: C:\Users\Administrator 我的login.sql下载地址: http://file ...
- Ubuntu系统下搭建Python开发环境
之前演示了在Windows中安装Pycharm,很简单.下面介绍一下如何在Ubuntu中安装Pycharm 1.更新Python至3.5.1,执行以下命令: sudo add-apt-reposito ...
随机推荐
- mysql数据库的优化技术
表的设计合理化(遵从3NF)<3范式> 1NF:表的列具有原子性,不可再分解(列的信息不能分解,只要是关系型的数据库就自动满足1NF) 2NF:表中的记录是唯一的,就满足2NF(通常我们设 ...
- yali项目的slider
// 调用 var s41 = new slider({ target : '#slider411', titleActiveClass : 'j-active', itemActiveClass : ...
- Ztree手风琴效果(第三版)
第一版:点击一级目录展开,再点击时不能收回 第二版:点击一级目录展开,再点击时可以收回 第三版:优化样式,修复主菜单下的子菜单下级无子节点时点击无反应问题(js报错) <%@ page lang ...
- 七、oracle 表查询二
1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J?select * from emp where (sal > 500 or ...
- Hadoop上的中文分词与词频统计实践 (有待学习 http://www.cnblogs.com/jiejue/archive/2012/12/16/2820788.html)
解决问题的方案 Hadoop上的中文分词与词频统计实践 首先来推荐相关材料:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-c ...
- getScrollX()理解
- 【2】docker 与UFW
ufw是一个主机端的iptables类防火墙配置工具. 1.查看ufw的状态:ufw status 2.如果使用UFW,需要对其进行修改才能让DOCKER工作.docker使用一个网桥来管理容器中的网 ...
- Linux 解决 bash ./ 没有那个文件或目录 的方法
在Debian 或 ubuntu 64位下运行 ./xxx 会跳出来说没有这个文件或者目录,但是ls看又有这个文件,很是奇怪. 其实原因很简单,是因为他没有32位的运行库 ia32-libs ,直接安 ...
- UIImageView的UserInteractionEnabled什么时候为no
UIImageView作为背景,但直接把按钮或者UITextField放在上面无法相应事件 特殊子类的覆盖 userInteractionEnabled属性默认值为YES,但UIView的一些子类中对 ...
- JSP导出Excel后身份证后三位为0
JSP导出Excel身份证号码超出Excel最大限制,用科学计数法表示,但后三位为0,修改方式: <style type="text/css">.txt { ...