gpt4 book ai didi

git - 使用 SSH 连接到自己的 Web 服务器上的 Git 存储库

转载 作者:行者123 更新时间:2023-12-02 14:30:04 25 4
gpt4 key购买 nike

我有 2 个网络服务器。在服务器 A 上,我有一个 GitLab安装。

在服务器 B 上,我刚刚初始化了一个裸 Git 存储库。

现在我想使用 GitLab's remote repository mirror function 自动将 GitLab 存储库推送到服务器 B

为此,我需要一个 HTTPS 或 SSH url,并且我想使用 SSH 来完成。

问题一:我需要在那里插入的网址是什么?我想应该是 ssh://ssh-user@server-b.com:path-to-git-repos/project.git .是对的吗?

问题二:由于连接到 url 的用户是 GitLab 的 Git 用户,我想我需要为这个用户创建一个自己的 SSH key 并将公钥添加到我的 Web 服务器。由于 Git 用户除了终端级别的 Git 命令外无权执行任何操作,我该如何执行此操作?我想我需要用我的 GitLab 服务器的 root 用户创建它,但我该怎么做呢?当我以 root 身份连接时,我什至找不到 Git 用户的主目录。

最佳答案

ssh://ssh-user@server-b.com:path-to-git-repos/project.git如果 path-to-git-repos/project.git 是正确的 URL归用户 ssh-user 所有,如果没有其他 Git 托管服务。

Since the user connecting to the url is GitLab's Git user, I guess I need to create an own SSH key for this user and add the public key to my web server.



是的,需要创建一个专用的私有(private)/公共(public) ssh key 对,公共(public) key 对去 serverB ~ssh-user/.ssh/authorized_keys : 你可以自己复制。
查看 ps -eaf|grep gitlab在服务器 A 上:您将看到哪个帐户正在运行 GitLab。
在帐户 ~/.ssh 中创建您的 SSH key 文件夹。

从评论来看,诀窍是:
  • 从 root 帐户生成 ssh key 对,并将 key 移动到 ~git/.ssh
  • 复制~git/.ssh/id_rsa.pub转至 serverB , ~ssh-user/.ssh/authorized_keys
  • 从 root 帐户测试 ssh 连接(因为 git 帐户仅限于 GitLab 命令)
    ssh -i ~git/.ssh/id_rsa ssh-user@serverB

  • 这有填写 ~root/.ssh/known_hosts 的副作用。文件,然后可以复制到 ~git/.ssh/known_hosts
  • 使用 SSH URL:
    ssh://ssh-user@server-b.com/absolute/path-to-git-repos/project.git

  • 并且镜像可以开始工作。

    关于git - 使用 SSH 连接到自己的 Web 服务器上的 Git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51226479/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com