ssbg2
V2EX  ›  git

gitea 部署求助,使用 ssh 拉取和提交可以, http 始终提示要验证

By ssbg2 at 2023 年 11 月 7 日 · 2931 次点击
如题,之前部署的 GitLab 因为一次非常弱智的意外断电导致无法启动了,后来大家发现其实也用不了那么多功能,想了想不行就换个轻量级的平台。

搜了一圈发现大家对 gitea 评价很高,使用二进制部署好、创建用户并添加了密钥之后,通过 ssh 可以正常 pull&push ,但是 http 方式则一直不行,提示要输入密码,然后提示 Authentication failed 。

我搜了搜官方社区,都是反过来的,via ssh 不行……

谁能给指点下?
8 条回复  •  2023-11-10 10:49:20 +08:00
monkeyWie
   1
monkeyWie  
   2023 年 11 月 7 日
https 就是需要账号密码验证啊,你配置的是 SSH 密钥只对 ssh 协议生效
mercurylanded
   2
mercurylanded  
   2023 年 11 月 7 日
应该不是密码是 personal access token
FranzKafka95
   3
FranzKafka95  
   2023 年 11 月 7 日 via Android
gitea 后台配置了 http 的用户和密码吗,另外请本地设置 store credential 避免每次都要输入用户名和密码
EvineDeng
   4
EvineDeng  
   2023 年 11 月 7 日   ❤️ 2
如果你设置了 http 的用户名和密码的话,可以这样:

1. 如果无所谓,可以直接把用户名密码保存到.git/config 的网址中,也就是以 git clone https://<username>:<password>@git.example.com/username/reponame.git 这种形式 clone ,其中 username, password 如有特殊字符需要 urlencode 。

2. 也可以在~/.gitconfig 设置允许保存用户名密码,登陆一次后会保存下来。

[credential "https://git.example.com"]
helper = store
vpt940417
   5
vpt940417  
   2023 年 11 月 7 日
https 的话,简单的简单方法是拉取的地址改成这个格式的就行了。

https://{token}@域名/用户名/仓库名/xxxx.git

例如: https://[email protected]/super/web-api.git

token 自己在后台建个权限足够的。
wumou
   6
wumou  
   2023 年 11 月 7 日
直接把拉取改成 ssh 方式就行了
ssbg2
   7
ssbg2  
OP
   2023 年 11 月 9 日
@EvineDeng 嗯,感谢。


@vpt940417 感谢,我最后用了这个办法,不过又出现了一个新的问题,通过域名做反向代理后,必须手动把域名后面的端口删除掉,换句话说,怎么能让 web 端也不要显示端口号?
vpt940417
   8
vpt940417  
   2023 年 11 月 10 日
@ssbg2 nginx 监听 443 或者 80 端口的这个域名,然后转发到 gitea 服务的端口就可以了。如果 nginx 配置不太会写的话,可以问一下 chatgpt 。然后改下 gitea 的配置文件( gitea/gitea/conf/app.ini )的 ROOT_URL 为你的服务域名,比如 git.xxxxx.com
git
› Pro Git
› Atlassian Git Tutorial
› Pro Git 简体中文翻译
› GitX
© 2026 V2EX · 31ms · 3.9.8.5