gitea 部署求助,使用 ssh 拉取和提交可以, http 始终提示要验证 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
ssbg2
V2EX    git

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

  •  
  •   ssbg2 Nov 7, 2023 2350 views
    This topic created in 905 days ago, the information mentioned may be changed or developed.
    如题,之前部署的 GitLab 因为一次非常弱智的意外断电导致无法启动了,后来大家发现其实也用不了那么多功能,想了想不行就换个轻量级的平台。

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

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

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

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

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

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


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