首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  程序员

centos 设置 git 服务器遇到的问题,求大佬解惑

  •  
  •   zohner · 2018-03-30 14:50:30 +08:00 · 1982 次点击
    这是一个创建于 622 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想在自己的 VPS 上放一个 git 远程库,百度下基本步骤都差不多,打开 RSA 认证,创建 SSH 密钥对,导入公钥,一一照做了,唯独有一步,新建一个 git 用户用来运行 Git 服务,因为 vps 只有我一个人用,一直都是 root 登录,所以这一步我就省了,其它设置好后在客户端 clone 远程的库,还是提示要输入密码,是哪里出错了么,是不是我对这个创建 git 用户这一步理解错了,这一步是不能省的,求解?

    24 回复  |  直到 2018-04-02 13:51:18 +08:00
        1
    zohner   2018-03-30 14:51:58 +08:00
    补充下网上说.ssh 要 700 权限,authorized_keys 要 600 权限,这一步也是设置了的
        2
    micean   2018-03-30 15:21:30 +08:00
    group 要一致
    用户目录和.ssh 是 700
    公钥 644
    私钥 600
        3
    wizardoz   2018-03-30 15:46:32 +08:00   ♥ 1
    如果你用 root 登录并且只有你一个人用 Git 仓库,那么什么 rsa 认证,创建 ssh 密钥对导入公钥都是不需要的。
    以 SSH 的方式用 git,所有授权都是走 ssh 上的。

    假设你原来 root 已经配置好证书登录,你要弄一个 Test 工程,只要在 VPS 上
    mkdir -p /opt/GIT/Test
    pushd /opt/GIT/Test
    git init --bare

    然后在你的客户端
    git clone ssh://[email protected]<your_host_ip>:/opt/GIT/Test

    看懂了吗? git 本身不需要任何配置,走的都是 ssh 的权限管理。

    至于网上教程要创建 git 用户的那种,主要是针对 多人协同开发的情况,那样的话就需要额外的组建来处理 git 用户和公钥之间的关系。

    PS:推荐看看 gitolite,小范围使用相当方便。
        4
    zohner   2018-03-30 15:55:56 +08:00
    @wizardoz 对 SSH 这块不是很懂,我 vps 是腾讯云的,没有设置 SSH,是用密码登录的,然后建完 git 仓库后在 windows 上 clone 的地址是 [email protected]<your_host_ip>:/git-res/test.git 这样的格式,这种情况下要怎么才能克隆成功呢,是不是也是不需要创建 git 用户的
        5
    sikariba   2018-03-30 15:56:02 +08:00
    不清楚你是哪里配错了,理论上来讲是可以不要 git 用户的
        6
    forcecharlie   2018-03-30 15:57:29 +08:00
    把你的 git clone URL 贴出来。
        7
    zohner   2018-03-30 15:59:55 +08:00
    @forcecharlie [email protected]<your_host_ip>:/git-res/test.git 这样的格式,我好像意识到问题出在哪了,这个地址是用 git 用户去连接的,应该把 git 改为 root
        8
    whattheh3ll   2018-03-30 16:23:40 +08:00
    我最近也碰到这个问题,最后是在 sshd_config 的 AllowUsers 把 git 加进去才解决了。不然一直都是 git 的密码错误。
        9
    BOYPT   2018-03-30 16:33:17 +08:00
    建议跑个 Gogs,不用这么折腾。
        10
    jinhan13789991   2018-03-30 16:54:52 +08:00
    看下这个 https://docs.gitlab.com/runner/install/docker.html
    docker 你值得拥有
        11
    forcecharlie   2018-03-30 16:59:50 +08:00
    @zohner 对的,你 git 服务的用户是什么,git clone 也得用什么用户头。
        12
    zohner   2018-03-30 17:10:51 +08:00
    本地 window 创建好密钥对,并到公钥添加到服务器了,现在可以成功 clone 了,但是为什么每次还是要输入 root 密码呢
        13
    joyme   2018-03-30 17:18:49 +08:00
    @zohner 服务器的 ssh server 重启试试? window 上秘钥的生成直接用你的 git 工具去生成。
        14
    zohner   2018-03-30 17:28:45 +08:00
    网上说
    第一,权限问题:
    ~ username/.ssh 必须是 700 权限
    ~ username/.ssh/authorized_keys 必须是 600 权限
    第二,检查 /etc/ssh/sshd_config 设置:
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys

    这两步已经确认是了,为什么每次 clone,push 还要提示要输入 root 的密码呢
        15
    Judoon   2018-03-30 17:46:12 +08:00
    3 楼已经说的很清楚了,
    默认情况下你 clone 用的是 git 用户
    所以你需要
    git clone ssh://[email protected]<your_host_ip>:/opt/GIT/Test

    指定 root 用户来 clone
        16
    yogogo   2018-03-30 17:50:46 +08:00
    git clone ssh://path
        17
    zohner   2018-03-30 17:58:13 +08:00
    @Judoon 已经是用 root 了,现在的问题是,每次 clone 都要输入 root 的密码,难道是因为 root 本身有密码的,我应该还是创建一个 git 用户,不设置密码,这样才不用每次设置密码么
        18
    Judoon   2018-03-30 18:31:52 +08:00 via Android
    @zohner 你配置下用 key 能登录 root 就行了呀
        19
    march1993   2018-03-31 00:10:13 +08:00
    @zohner 你 ssh 上去的时候要密码吗,如果要的话就是 ssh 问题
        20
    msg7086   2018-03-31 00:25:58 +08:00
    对于 git clone [email protected]:some-prj.git ,可以测试这条命令是否正常:ssh [email protected]
        21
    raphaelsoul   2018-03-31 13:46:43 +08:00
    2 楼 3 楼说的对 权限问题
    另外 请停止你使用我老婆头像的侵权行为(律师函警告⚠️
        22
    zohner   2018-04-02 10:41:15 +08:00
    @Judoon 在哪设置呢,我 root 是用密码登录的,没用 key
        23
    zohner   2018-04-02 10:41:54 +08:00
    @raphaelsoul 哈哈,拔刀吧
        24
    zohner   2018-04-02 13:51:18 +08:00
    @wizardoz 3 楼正解,使用 ssh 认证方式后,直接用就行了,感谢
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3583 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 01:10 · PVG 09:10 · LAX 17:10 · JFK 20:10
    ♥ Do have faith in what you're doing.