Sourcetree:访问两个repos,一个带密钥对,另一个带密码

时间:2018-02-05 13:18:09

标签: git macos ssh atlassian-sourcetree

我试图让开发人员访问我们的私人git仓库。他在Mac上使用Sourcetree,我告诉他以与我完全相同的方式配置它:

  1. 在Sourcetree中,转到"存储库/存储库设置"。
  2. 添加一个新的遥控器,其中包含ssh://(username)@our.host.name/our/path作为网址。
  3. 只要输入密码,只需输入密码即可。

    (自从我设置以来已经很久了,我真的不记得我是如何在自己的Mac上做的,无论我是在Sourcetree中输入密码还是我必须打开一个终端或者其他。我的观点是,在我的Mac中这完全有效:我没有在我的Sourcetree中设置任何帐户,也没有使用它来生成任何密钥:我只有一个带URL的仓库以" ssh:// username @ host"的形式,它只是起作用。

    无论如何,他做到了这一点,并且在摸索了一下后,他可以克隆回购并从Sourcetree中毫无问题地撤出,但每当他试图推动回购时,他都会收到一条错误消息,说他无法连接,服务器日志说:

    Jan 24 17:52:34 vps sshd[23088]: Failed publickey for [username]
    Jan 24 17:52:34 vps sshd[23088]: Failed none for [username]
    Jan 24 17:52:34 vps sshd[23088]: Failed password for [username]
    Jan 24 17:52:34 vps sshd[23088]: Failed password for [username]
    

    如果他打开一个终端并从命令行使用git,他可以这样做:系统提示他输入密码,然后输入密码,然后输入密码。

    我要求查看他的.ssh/目录,并且其中有一个config文件,上面写着:

    # --- SourceTree generated
    
    Host [username]-Github
      HostName github.com
      Username [username]
      PreferredAuthentications publickey
      IdentityFile /Users/em/.ssh/[username]-Github
      UseKeyChain yes
      AddKeysToAgent yes
    

    Github的公钥/私钥对。

    换句话说,他使用Sourcetree和公钥/私钥对来访问Github。

    所以,很明显的事情是创建我们自己的服务器公钥/私钥对,但在这一点上,我有我的疑惑:我怎么做Sourcetree知道使用Github上哪个键,这对于我们的服务器?我手动编辑配置文件吗?我使用哪种语法来让它知道我指的是哪个存储库?

    根据this link,Sourcetree实际上并没有使用SSH的配置文件...但我们的副本说" Sourcetree生成"。另一方面,该链接实际上是Windows上的Sourcetree。我在网上找到了几乎没有关于我们案例的文档(Mac上的Sourcetree,两个存储库,每个都使用不同的密钥)。

0 个答案:

没有答案