文章目录
Gogs配置ssh
说明,操作版本为gogs_0.12.1_windows_amd64
。
操作最好在Git Bash
进行,先安装好Gogs,跑一次./gogs web
命令生成配置文件,再来参考修改为本文的配置。
1.gogs的custom配置文件confapp.ini配置
这里用的是win10,要START_SSH_SERVER = true
才可以。
BRAND_NAME = GogsTest
RUN_USER = MagicBook
RUN_MODE = prod
[database]
TYPE = mysql
HOST = 127.0.0.1:3306
NAME = gogstest
USER = 你的数据库用户名
PASSWORD = 你的数据库密码
SSL_MODE = disable
PATH = D:\TDDOWNLOAD\gogs_0.12.1_windows_amd65\gogs\data\gogs.db
[repository]
ROOT = D:/TDDOWNLOAD/gogs_0.12.1_windows_amd65/repo
[server]
DOMAIN = gogstest.cc
HTTP_PORT = 3000
EXTERNAL_URL = http://gogstest.cc:3000/
DISABLE_SSH = false
SSH_PORT = 3022
START_SSH_SERVER = true
OFFLINE_MODE = false
[mailer]
ENABLED = false
[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
DISABLE_REGISTRATION = false
ENABLE_CAPTCHA = true
REQUIRE_SIGNIN_VIEW = false
[picture]
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = false
[session]
PROVIDER = file
[log]
MODE = file
LEVEL = Info
ROOT_PATH = D:/TDDOWNLOAD/gogs_0.12.1_windows_amd65/gogs/log
[security]
INSTALL_LOCK = true
SECRET_KEY = SBG5Ep2rvkb3Fyr
2.配置hosts
修改C:\Windows\System32\drivers\etc\hosts
文件,可以配置如下 :
# Gogs local HTTPd
127.0.0.1 gogstest.cc
3.数据库
如下图:
4.点ssh文件夹的配置
4.1生成私钥和公钥
用ssh-keygen -t rsa -C "你的邮箱" -f /c/Users/MagicBook/.ssh/gitgogstest_id_rsa
命令,敲四次回车就可以得到gitgogstest_id_rsa
私钥,gitgogstest_id_rsa.pub
公钥。你也可以多配置几个,不同的网站用不同的私钥和公钥。生成命令如下:
ssh-keygen -t rsa -C "你的邮箱" -f /c/Users/MagicBook/.ssh/gitee_id_rsa
ssh-keygen -t rsa -C "你的邮箱" -f /c/Users/MagicBook/.ssh/github_id_rsa
ssh-keygen -t rsa -C "你的邮箱" -f /c/Users/MagicBook/.ssh/gitlab_id_rsa
ssh-keygen -t rsa -C "你的邮箱" -f /c/Users/MagicBook/.ssh/gitgogs_id_rsa
ssh-keygen -t rsa -C "你的邮箱" -f /c/Users/MagicBook/.ssh/gitgogstest_id_rsa
结果如下:
4.2配置config
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile /c/Users/MagicBook/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile /c/Users/MagicBook/.ssh/github_id_rsa
# Gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile /c/Users/MagicBook/.ssh/gitlab_id_rsa
# Gogs
Host gogs.cc
HostName gogs.cc
PreferredAuthentications publickey
IdentityFile /c/Users/MagicBook/.ssh/gitgogs_id_rsa
# GogsTest
Host gogstest.cc
HostName gogstest.cc
PreferredAuthentications publickey
IdentityFile /c/Users/MagicBook/.ssh/gitgogstest_id_rsa
4.3上传公钥
网址应该是http://gogstest.cc:3000/user/settings/ssh
。复制gitgogstest_id_rsa.pub
公钥的内容,上传。
5.测试
创建一个新仓库,复制ssh地址,下载,上传。看看是否免密成功。
其它
win10 git ssh配置原文
当有多个git账号时,比如:
a. 一个gitee,用于公司内部的工作开发;
b. 一个github,用于自己进行一些开发活动;
解决方法
- 生成一个公司用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
- 生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
- 在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
4.用ssh命令分别测试
$ ssh -T git@gitee.com
$ ssh -T git@github.com
这里以gitee为例,成功的话会返回下图内容
git输入帐号密码正确,无法上传的问题
有时候上传不了,可以重启一下gogs服务,就可以上传了。