V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
ssbg2
V2EX  ›  git

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

  •  
  •   ssbg2 · 2023-11-07 09:49:29 +08:00 · 1363 次点击
    这是一个创建于 407 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,之前部署的 GitLab 因为一次非常弱智的意外断电导致无法启动了,后来大家发现其实也用不了那么多功能,想了想不行就换个轻量级的平台。

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

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

    谁能给指点下?
    8 条回复    2023-11-10 10:49:20 +08:00
    monkeyWie
        1
    monkeyWie  
       2023-11-07 09:51:44 +08:00
    https 就是需要账号密码验证啊,你配置的是 SSH 密钥只对 ssh 协议生效
    mercurylanded
        2
    mercurylanded  
       2023-11-07 09:53:47 +08:00
    应该不是密码是 personal access token
    FranzKafka95
        3
    FranzKafka95  
       2023-11-07 09:55:44 +08:00 via Android
    gitea 后台配置了 http 的用户和密码吗,另外请本地设置 store credential 避免每次都要输入用户名和密码
    EvineDeng
        4
    EvineDeng  
       2023-11-07 12:41:42 +08:00   ❤️ 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-07 14:37:23 +08:00
    https 的话,简单的简单方法是拉取的地址改成这个格式的就行了。

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

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

    token 自己在后台建个权限足够的。
    wumou
        6
    wumou  
       2023-11-07 15:02:26 +08:00
    直接把拉取改成 ssh 方式就行了
    ssbg2
        7
    ssbg2  
    OP
       2023-11-09 10:18:37 +08:00
    @EvineDeng 嗯,感谢。


    @vpt940417 感谢,我最后用了这个办法,不过又出现了一个新的问题,通过域名做反向代理后,必须手动把域名后面的端口删除掉,换句话说,怎么能让 web 端也不要显示端口号?
    vpt940417
        8
    vpt940417  
       2023-11-10 10:49:20 +08:00
    @ssbg2 nginx 监听 443 或者 80 端口的这个域名,然后转发到 gitea 服务的端口就可以了。如果 nginx 配置不太会写的话,可以问一下 chatgpt 。然后改下 gitea 的配置文件( gitea/gitea/conf/app.ini )的 ROOT_URL 为你的服务域名,比如 git.xxxxx.com
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 21:09 · PVG 05:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.