【问题标题】:two ssh keys for two different repositories are not working in config两个不同存储库的两个 ssh 密钥在配置中不起作用
【发布时间】:2022-01-03 20:43:54
【问题描述】:

我刚刚在我的 Mac 上的 .ssh 文件夹中添加了第二个 ssh 密钥来访问我的客户端的存储库。

我要访问的第二个 repo 是 github。

我准备了我的配置文件:

托管 github.com
身份文件 ~/.ssh/id_github

主机 xyz.*
身份文件 ~/.ssh/id_xyz

现在我可以访问我的客户端存储库,但不能访问 github。

我也尝试过使用 hostName 条目,但它不起作用。

当我尝试 ssh -vvv git@github.com 我收到

OpenSSH_8.6p1,LibreSSL 2.8.3
debug1:读取配置数据 /Users/name/.ssh/config
debug1:/Users/name/.ssh/config 第 1 行:为 github.com 应用选项
debug1:读取配置数据 /etc/ssh/ssh_config
debug1:/etc/ssh/ssh_config 第 21 行:包括 /etc/ssh/ssh_config.d/* 没有匹配的文件
debug1:/etc/ssh/ssh_config 第 54 行:为 *
应用选项 debug3:扩展 UserKnownHostsFile '~/.ssh/known_hosts' -> '/Users/name/.ssh/known_hosts'
debug3:扩展 UserKnownHostsFile '~/.ssh/known_hosts2' -> '/Users/name/.ssh/known_hosts2'
debug1:身份验证器提供程序 $SSH_SK_PROVIDER 未解析;禁用
debug1:连接到 github.com 端口 22。
debug1:已建立连接。
debug1:身份文件 /Users/name/.ssh/id_ed25519 类型 3
debug1:身份文件 /Users/name/.ssh/id_ed25519-cert type -1
debug1:本地版本字符串 SSH-2.0-OpenSSH_8.6

但是当我拉动时,什么也没有发生。

谁能帮帮我?

亲切的问候,空指针

【问题讨论】:

    标签: github ssh key repository


    【解决方案1】:

    您的配置有错字。配置选项为IdentityFile,需要与IdentitiesOnly配合使用。

    如何正确配置这个可以seen in the Git FAQ.

    【讨论】:

    • 我没有相同的托管服务提供商。但是我是这样配置的。它不工作。错字只是在这里,不在我的档案中。我现在使用 Host HostName User IdentitiesOnly 对其进行了配置,但它不起作用。当我想从 Github 拉或推时,什么都没有发生,我需要用命令 d 分手
    • 同样的技术也适用于不同的主机,但您不需要指定与Host 不同的HostName。如果您看到的不是关于公钥的实际错误消息,请编辑您的问题以显示ssh -vvv git@github.com 的代码块,以便我们查看问题所在。 “它不起作用”不是很有帮助。
    • 谢谢,我编辑了它
    • 我现在发现,如果我从配置中删除所有 github 内容,我也会有相同的行为。主机 github.com 主机名 github.com 用户 xyz IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly 是 这在我的配置文件中,但它不起作用@bk2204
    【解决方案2】:

    嗯,我修好了。在我发现 ssh -vT git@github.com 建立了连接而 ssh git@github.com 没有建立连接后,我从客户端删除了我的 vpn,一切正常。问题在于正在运行的 vpn。

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      • 2021-09-07
      • 1970-01-01
      • 2023-03-25
      • 2021-11-03
      • 2015-12-26
      • 2023-03-22
      相关资源
      最近更新 更多