首页 > 代码库 > 自己搭建Git服务器并实现无密码访问.
自己搭建Git服务器并实现无密码访问.
环境: 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地址为不经常使用而自定义的地址
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。