// 因为项目需要,要搭建git服务器,顺便解决了ssh key的问题,做个笔记
一、windows服务器搭建gitblit
1.下载java
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
(先装了java9,启动gitblit.cmd报错,又换成了1.8.1的jdk)
报错如下,没懂〒▽〒
java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader
at org.moxie.MxLauncher.addJarFile(MxLauncher.java:170)
at org.moxie.MxLauncher.main(MxLauncher.java:117)
2.下载gitblit(1.8.0)
3.配置java环境变量
配置好后运行java和javac都可以就没问题啦
4.配置gitblit
配置文件是gitblit安装目录下的data/defaults.propoerties文件
配置参考这篇博客
主要修改的是
git.repositoriesFolder = git仓库目录(如d:/githubFolder)
server.httpPort = http协议端口号
server.httpBindInterface = 服务器ip地址
5.运行
启动gitblit目录下的gitblit.cmd即可运行,用installService.cmd可将gitblit作为Windows服务启动;
如果运行错误,建议用目录下gitblit-stop.cmd停止后再重启;
启动后在浏览器输入服务器ip和http端口可访问,默认用户名admin,密码admin:
在这里创建版本库:
创建好之后可以看到可以用ssh也可以用http:
通过用户中心添加ssh key:
二、github多用户的ssh key管理
使用
ssh-keygen -t rsa -C ‘用户邮箱‘
生成ssh key,对于多个用户,命令行第二步的时候要输入存放ssh key的文件:
ssh key可以统一放在 C:\Users\用户名\.ssh 目录下;
编辑此目录下的config文件(没有则创建);
格式为:
Host 别名(如github1)
User 用户名
Hostname github.com(这里才是真正的主机名)
PreferredAuthentications publickey
IdentityFile 存放公钥的文件(如~/.ssh/id_rsa)
IdentitiesOnly yes
这里的别名对应git remote下的url,可以在.git目录里的config文件看到;
左边是我的ssh config配置,右边是两个项目的.git/config配置,可以看到url和host别名是一一对应的
(ps:我之前就是写错这个,然后一直没实现ssh提交ヽ(ー_ー)ノ