在linux搭建git服务器
git在linux上的安装不多说,参考下面的文章就可以顺利完成,主要是依赖的库。
安装git
http://progit.org/book/zh/ch1-4.html
git麻烦在用户管理及管理上,下面上三种解决办法:
如果需要团队里的每个人都对仓库有写权限,又不能给每个人在服务器上建立账户,那么提供 SSH 连接就是唯一的选择了。我们假设用来共享仓库的服务器已经安装了 SSH 服务,而且你通过它访问服务器。 有好几个办法可以让团队的每个人都有访问权。第一个办法是给每个人建立一个账户,直截了当但过于繁琐。反复的运行 adduser 并且给所有人设定临时密码可不是好玩的。 第二个办法是在主机上建立一个 git 账户,让每个需要写权限的人发送一个 SSH 公钥,然后将其加入 git 账户的 ~/.ssh/authorized_keys 文件。这样一来,所有人都将通过 git 账户访问主机。这丝毫不会影响提交的数据——访问主机用的身份不会影响commit的记录。 另一个办法是让 SSH 服务器通过某个 LDAP 服务,或者其他已经设定好的集中授权机制,来进行授权。只要每个人都能获得主机的 shell 访问权,任何可用的 SSH 授权机制都能达到相同效
为了简便选用了第二种办法,这种办法采用SSH公钥认证。
1、产生公钥
ssh-keygen -C "你的email地址" -t rsa
后面直接回车直到结束,中间可以不需要任何设置,该命令将生成一对非对称的公\私密钥,默认它们被存储在:
XP/2003用户:c:\DocumentsandSettings\登陆名\.ssh
Vista用户:c:\Users\登陆名\.ssh
该.ssh文件夹下面,密钥放在id_rsa文件里面,不用理会它;
2、在linux服务器上将公钥加到git用户的authorized_keys文件中。
可以参考:http://github.com/git-on-windows/rookies
git用户的建立及设置参考:http://progit.org/book/zh/ch4-4.html
注意,git上的仓库对git用户要有写权限,同时需要将/etc/ssh/sshd_config中将RSA认证打开,即:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
另外,我在ubuntu上连接用git用户连接时,报Agentadmittedfailuretosignusingthekey错误,查了一下需要启动ssh-agent,然后添加id_rsa到ssh-agent中,再连接就可以了。
参考:http://www.jiangmiao.org/blog/559.html
相关推荐
airfish000 2020-09-11
风语者 2020-09-02
lichuanlong00 2020-08-15
projava 2020-11-14
WanKaShing 2020-11-12
tryfind 2020-09-14
yegen00 2020-09-10
kkaazz 2020-09-03
BraveWangDev 2020-08-19
gsl 2020-08-15
pandaphinex 2020-08-09
yhuihon 2020-08-09
CheNorton 2020-08-02
xiangqiao 2020-07-28
hpujsj 2020-07-26
hpujsj 2020-07-26
sshong 2020-07-19
BraveWangDev 2020-07-19
annan 2020-07-18