【问题标题】:Trying to run the git clone command on a Windows computer, pulling from an AWS Remote Server尝试在 Windows 计算机上运行 git clone 命令,从 AWS 远程服务器拉取
【发布时间】:2014-11-08 04:15:18
【问题描述】:

我有一个 AWS Linux Ubuntu 实例,我用它来托管几个 git 远程存储库。远程仓库支持 git-annex。我能够推/拉/克隆/等。在我的 Mac 和我的 AWS 实例之间。

我遇到的问题是我的 Windows(操作系统:Windows 7)计算机。我下载了 msysgit 并安装了它,以及 git-annex。当我尝试运行时

git clone ubuntu@SERVER.amazonaws.com:/home/ubuntu/git-repo/test.git

(为SERVER填写正确的值)我收到以下错误:

克隆到“测试”...

权限被拒绝(公钥)。

致命:无法从远程存储库读取。

请确保您具有正确的访问权限并且存储库存在。

顺便说一句,我可以通过以下命令 ssh 进入

ssh -i ~/Desktop/gitserverkey.pem ubuntu@SERVER.amazonaws.com

当我使用另一台(和我的 mac)mac 访问实例时,我只需使用 AWS 密钥对 gitserverkey.pem 即可。我用于我的 mac 的步骤如下:

~ cd 桌面/localgitrepo

~ chmod 0400 ~/Downloads/gitserverkey.pem

~ ssh-add ~/Downloads/gitserverkey.pem

~ git clone ubuntu@SERVER.amazonaws.com:/home/ubuntu/git-repo/test.git

我这样说是因为一些 stackoverflow 页面(和 Google)建议将我的 Windows 计算机的私钥复制到我的 AWS 实例的 known_hosts 文件中。我认为这不是必需的,因为我的 Mac 不需要这样做,而且我可以通过 ssh 登录。

我的问题是,Windows 的等效步骤与我为 Mac 执行的步骤是什么?如何将我的服务器存储库克隆到本地 Windows 计算机上?教程或对我的错误的一些见解将非常有帮助。

谢谢!

【问题讨论】:

    标签: git amazon-web-services ssh


    【解决方案1】:

    当您在 Mac 上运行 ssh-add 时,您正在将 gitserverkey.pem 密钥添加到该计算机的 ssh-agent,然后可以将其提供给 Git 以用于会话。

    您需要在 Windows 机器上执行相同操作 - 在 msysgit shell 中,运行 ssh-add 命令以在尝试克隆之前将正确的密钥添加到代理。

    【讨论】:

      【解决方案2】:

      最终解决我的问题是创建和修改 ~/.ssh/config 并添加以下代码行:

      ⁃   Host amazonaws.com
      ⁃   User ubuntu
      ⁃   Hostname SERVER.amazonaws
      ⁃   PreferredAuthentications public key
      ⁃   Port 22
      ⁃   IdentityFile ~/Desktop/serverkey.pem
      

      ssh 工作,但 git clone 没有,因为 git clone 不知道在哪里可以找到必要的密钥。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-17
        • 1970-01-01
        • 2012-02-25
        • 1970-01-01
        • 2021-11-27
        • 2013-03-05
        • 1970-01-01
        相关资源
        最近更新 更多