我没有〜/ .ssh / config文件但多个GitHub帐户有效,怎么办?

时间:2018-03-31 12:50:39

标签: git github ssh-keys

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

  

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

因为我(已经)有多个帐户正在运行(我不记得我是怎么做的)我想在~/.ssh/config中添加另一个条目。但似乎我没有这样的档案。也许它位于其他地方?或者我的机器可能以其他方式配置?从哪里开始搜索?

2 个答案:

答案 0 :(得分:3)

这是 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

答案 1 :(得分:0)

  

我想在~/.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