【问题标题】:What happens when I run "ssh git@gitlab.com当我运行“ssh git@gitlab.com”时会发生什么
【发布时间】:2022-04-29 23:33:16
【问题描述】:

我已经尝试谷歌它并检查了 gitlab-documentation 但没有找到一个好的答案。

当我设置 GitLab 时,建议我测试我的 SSH 密钥到我的 GitLab URL 实例。 我使用 git@gitlab.com。

当我运行“ssh git@gitlab.com”时实际发生了什么 我了解您如何使用 SSH 登录远程设备,例如带有 SSH 管理员的 Cisco 路由器。但在这种情况下:谁是 git@gitlab.com? [username]@gitlab.com 对我来说更有意义。

它必须以某种方式找到我的 Gitlab 帐户(因为它在那里存储了我的公钥)。当我使用通用 git@gitlab.com 时,我该怎么做?

我正在寻求更一步一步的答案(客户端-服务器)

【问题讨论】:

    标签: ssh gitlab


    【解决方案1】:

    [username]@gitlab.com 对我来说更有意义

    它不会:会要求以“用户名”身份打开 SSH 会话:该帐户不存在。只有一个帐户存在:'git'。

    然后,在~/.ssh/authrorized_keys 中,找到了您的公钥,旁边是:

    • 一个 ID(shown here),与您注册的 GitLab 帐户相匹配,
    • forced command,它将调用 GitLab 脚本以执行 Git 命令。

    这样:

    • GitLab 的服务器上不可能有交互式会话
    • 项目gitlab-shell 获取您的 ID 并挂起您的 Git 查询

    【讨论】:

    • 感谢您的回答,但它产生了一个新问题:不是每个人都使用 'git' 来测试他们的 ssh.pub-key 吗?我想我缺少一些关于 GitLab 的基本知识。因此,当您使用用户名“git”打开 ssh-session 时,gitlab-server 通过来自 autherized_keys 的 id 识别用户?否则服务器怎么会知道谁想要打开会话?
    • @Aard 是的,ID 与您的 GitLab 帐户匹配,这样 SSH 调用的 GitLab 脚本将知道谁在请求 Git 操作。无需使用“git”以外的任何东西来测试您的连接。
    【解决方案2】:

    找到它,在克隆时进入存储库,选择 ssh,开始开始复制到 :, 现在测试

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2015-09-14
    • 2019-01-19
    • 2021-07-23
    • 1970-01-01
    • 2012-02-03
    • 2011-10-13
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多