【问题标题】:Do we still need to use the remote command to setup github push ssh access?我们还需要使用远程命令来设置 github push ssh 访问吗?
【发布时间】:2018-10-01 18:22:34
【问题描述】:

我们还需要做什么:

git remote set-url origin git@github.com:username/your-repository.git

在克隆存储库以便通过 ssh 访问它之后?我之前可以发誓它是自动的。这就是我所做的。

1) 从 github 中删除了我的 ssh 密钥,以确保我拥有的是最新的。

2) 添加key back to github

3)Cloned my repository - git@github.com:superflycss/cli.git

4) 进行了一些更新、提交和推送。

它还在询问我的用户名和密码?

【问题讨论】:

  • git clone 会自动设置一个名为 origin 的遥控器,指向您克隆的 URL。是什么让您认为这行不通?
  • 我用我的所有步骤更新了我的问题
  • 如果您丢失了您的origin 遥控器pushing,您将无法获得用户名和密码(假设您没有其他遥控器)。那不是问题。当您说“克隆我的存储库”时,您实际上是否拥有该存储库?您确定您是通过 SSH 而不是通过 HTTPS 克隆的吗?您看到的确切输出是什么?
  • 是 - 存储库在我的组织中(我创建了组织)并且我正在使用 SSH url - git@github.com:superflycss/cli.git

标签: git ubuntu github ssh


【解决方案1】:

仅当您的私有 ssh 密钥 (~/.ssh/id_rsa) 受密码保护时,ssh-agent 步骤才是强制性的。

考虑到 git 直接回退到询问您的用户名和密码,这可能表明您的私钥没有密码保护。
如果它首先要求输入密码,那么是的,ssh-agent 将帮助缓存所述密码。

【讨论】:

  • 奇怪,因为它没有密码保护。我只是按照指示运行 ssh-agent 并开始工作。我从未输入过密码。
  • 我之前的理解(正如你所指出的),因此我感到困惑的原因是 ssh-agent 的目的是缓存密码......
  • @Ole 我相信它的目的是缓存 SSH 私钥的 passphrase(不是密码,它与用户名帐户相关联)。 (en.wikipedia.org/wiki/Ssh-agent)
  • 正确 - 我的意思是你刚才说的 :)。所以我期待它能够工作,因为我有一个无密码密钥......但一开始它没有工作。只有在我启动 SSH 代理之后。 Github 似乎表明无论如何都必须启动它,因为他们有另一个使用密码短语的指南?
  • @Ole 我从来不需要使用 ssh-agent 作为无密码密钥。也许公钥没有正确注册,默认为用户名/*密码*? ssh -T git@github.com 返回什么?
【解决方案2】:

忘记ssh-agent 步骤:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

【讨论】:

    猜你喜欢
    • 2015-03-27
    • 1970-01-01
    • 2016-12-16
    • 2019-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多