【问题标题】:I don't have ~/.ssh/config file but multiple GitHub accounts works, how?我没有 ~/.ssh/config 文件,但多个 GitHub 帐户可以工作,如何?
【发布时间】:2018-09-10 07:01:01
【问题描述】:

我正在尝试配置另一个 GitHub 帐户,以便能够在我的机器上工作。我开始环顾四周,我found

通过创建/修改 ~/.ssh/config 来设置多个 ssh 配置文件。请注意略有不同的“主机”值:

因此,当我(已经)有多个帐户在工作时(我不记得我是如何以及何时这样做的),我只想在 ~/.ssh/config 中添加另一个条目。但似乎我没有这样的文件。也许它位于其他地方?或者也许我的机器以其他方式配置?从哪里开始搜索?

【问题讨论】:

    标签: git github ssh-keys


    【解决方案1】:

    这是 ssh 而不是 git 的行为。

    在您的~/.ssh 文件夹中,您有您的私钥。默认情况下,您的私钥文件的名称为id_rsa。当您的 ssh 客户端必须登录到 ssh 服务器时,它会从该文件中读取密钥。

    但在某些情况下,您可能希望使用不同的私钥进行身份验证。在这种情况下,您创建文件 ~/.ssh/config 并添加一个带有别名(您在命令行中写入的主机名)的部分,真实主机名和本地系统上替代密钥文件的路径:

    # ~/.ssh/config
    Host alternative-github
        HostName github.com
        User MyOtherGithubUser
        IdentityFile /media/me/MyUsbThumbDrive/.ssh/MyOtherGithubUsers-id_rsa
    

    当我像这样克隆存储库时,ssh 在我的 UBS 拇指驱动器上查找私钥:

    git clone git@alternative-github:/MyOtherGithubUser/someRepositoty.git
    

    结论

    只要你在你的 git 项目中使用相同的公钥/私钥对并且私钥是~/.ssh/id_rsa,你就不需要文件~/.ssh/config

    【讨论】:

      【解决方案2】:

      我只想在 ~/.ssh/config 中添加另一个条目

      你可以创建它,但是:

      • 您需要生成具有不同名称的公钥/私钥

        ssh-keygen -q -P "" -t rsa -f ~/.ssh/key2
        
      • 您需要在远程服务器第二个帐户上注册~/.ssh/key2.pub

      • 你需要有一个配置文件:

        Host github2
        HostName github.com
        User git
        IdentityFile /home/me/.ssh/key2
        

      请注意此处的用户:'git',不是'another GitHub account'

      • 您需要更改原始远程 URL 以使用该条目:

        git remote set-url origin github2:MySecondAccount/MyRepo.git
        

      【讨论】:

        猜你喜欢
        • 2013-01-19
        • 1970-01-01
        • 2022-10-23
        • 2019-11-28
        • 2011-03-14
        • 2018-04-23
        • 2020-05-28
        相关资源
        最近更新 更多