您的位置:首页 > 其它

自己搭建Git服务器并实现无密码访问.

2014-06-05 14:34 375 查看
环境: win7 64位

软件准备:
版本号可以无视
1.Git-1.9.2-preview20140411
2.GitExtensions24703SetupComplete

3.vs2010(非必要)
4.vbox
5.debian安装光盘DVD第一张

git服务器实际上就是一个linux文件服务器.通过ssh这个协议来处理的.
各种windows架设都太麻烦而且会破坏一些已有的配置.我对linux又比较熟悉,所以还是架设linux好了.
搞清楚这一点,下面就很好办了.
要解决三个问题: 服务器架设及配置, 客户端程序安装及配置, 虚拟机和宿主机互访问题(通常是宿主机访问虚拟机)

一 服务器架设及配置

1.安装debian在虚拟机vbox中
locale选择英文, 最好断开网络安装,其它默认就好.

2.配置debian

安装git-core

apt-get install git-core


生成帐号git及创建必要目录

adduser git
mkdir ~/.ssh


在git的home里创建一个中央仓库

mkdir  /home/git/foo.git
cd /home/git/foo.git
git --bare init


二 虚拟机和宿主机互访问题

使用默认的NAT方式 配置端口转发
本机的2200端口
子系统的22端口
访问形式

ssh git@127.0.0.1:2200


即可访问虚拟机的22端口的ssh服务了

三 客户端程序安装及配置

1.先安装git, git-extentions,
如果提示缺失cygpath.exe还要安装cygwin,把cygpath.exe和cygwin1.dll复制到git bin的目录下.

2.生成密钥

ssh-keygen


得到~/.ssh下的两个文件

id_rsa 私钥(保存在本地,不要重命名也不要移动)
id_rsa.pub 公钥

3.上传公钥到服务器

打开git bash

scp ~/.ssh/id_rsa.pub git@127.0.0.1:2200
ssh git@127.0.0.1:2200



登入虚拟机后:

cat id_rsa.pub >> ~/.ssh/authorized_keys


4. 配置git-extentions

ssh使用openssh

5. url推送方式

ssh://git@127.0.0.1:2200/home/git/test2.git

2200即为刚刚设置的本机端口

收尾: 修改虚拟机的访问方式只能通过密钥.
/etc/ssh/sshd_config


PasswordAuthentication no



问题: vs2010默认推送的是远程而不是url...困扰中.

2014.5.29 解决了:
远程为管理远程里默认配置的地址,而url地址为不经常使用而自定义的地址

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: