【问题标题】:access repository with ssh使用 ssh 访问存储库
【发布时间】:2014-03-23 00:38:31
【问题描述】:

昨天我发现了 git 这样的东西的存在。我需要使用 ssh 访问远程存储库。我使用了命令$ git clone git@forest.com:stranger@gmail.com。但是当我使用它时,它说它正在克隆,然后需要密码。虽然我在 ~/.ssh 中有秘密和公开密钥。而且我还有一个配置文件,看起来像这样:

Host forest
    User git
    HostName forest.com
    Port 22
    IdentityFile ~/.ssh/<stranger@gmail.com>.key

你能否给我一个提示,我如何访问这个远程存储库以及为什么我需要这个配置文件,我可以用它做什么?

【问题讨论】:

    标签: git ssh


    【解决方案1】:

    由于您的密钥没有标准名称,因此您需要使用配置文件。
    但确切的网址是:

    git clone forest:yourRepo
    

    密钥“forest”引用您的 ~/.ssh/config 文件中的主机条目,这将为 ssh 提供正确的用户、主机名、端口和私钥文件以供使用。

    YourRepo 应该是您要克隆的存储库的名称或完整路径。
    我怀疑你的回购被命名为stranger@gmail.com。


    其他问题是:

    • 配置文件的名称:
      无需扩展:仅~/.ssh/config。 ssh 将忽略其他任何内容。

    • 您的私钥的名称:
      我强烈建议避免在其中使用“@”,并使用完整路径:/home/myName/.ssh/myKey 和 /home/myName/.ssh/myKey.pub(用于私钥和公钥)。
      那么您的IdentityFile 应该引用密钥不带任何扩展名:/home/myName/.ssh/myKey:这是私有密钥(相对于公共密钥:/home/myName/.ssh/myKey.pub)。

    【讨论】:

    • 当我这样做时,我得到以下内容:来自 ssh 的“没有与名称关联的地址”,然后是致命的“无法从存储库读取”
    • @user3130843 您的配置文件在正确的位置吗? ~/.ssh/config
    • 我在 ~/.ssh/config.txt 和 ~/.ssh/config/config.txt 两个地方添加了它,以确保,这是错误的吗?
    • @user3130843 我确认:无需扩展:仅~/.ssh/config。其他任何内容都将被 ssh 忽略。
    • 那么应该不会有其他问题吧?
    猜你喜欢
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    相关资源
    最近更新 更多