// 因為項目需要,要搭建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提交ヽ(ー_ー)ノ