【问题标题】:Android studio git using private key使用私钥的 Android Studio git
【发布时间】:2016-08-20 00:45:57
【问题描述】:

A 有一个 git 存储库的地址。
我还有一个 open-ssh 格式的私钥。

Android Studio中的git可以用吗?
我试图搜索一些信息,但此时没有运气。

感谢您提供任何有用的信息!

编辑。我的步骤:
1. 我把我的私钥放在 .ssh 文件夹(用户/用户)中。
2. 在 Android Studio 中,我运行:文件 - 设置 - 版本控制 - Git 并放置 Git 可执行文件的路径。

3. 然后是 VCS - 从 vesrion 控制中签出 - Git。我把存储库地址放在那里。

如果我在这里继续,有:

但我没有用户名和密码,只有密钥。
如果我尝试:

得到以下信息:

Android Studio 怎么知道,它应该使用我的私钥而不是标准的 id_rsa 文件?

【问题讨论】:

标签: git android-studio ssh private-key


【解决方案1】:

好的,终于成功了!

我所做的 - 切换到 .ssh 文件夹,然后用我的 ssh key 的内容替换 id_rsa 密钥的内容(据我所知,这是 Android Studio 的默认 ssh 密钥)。

还是不知道怎么弄,怎么把Android Studio指向我的ssh key,但是这样就可以了。

【讨论】:

  • 行得通!我可以补充一下,该文件的目录是 /.ssh。相应的 ssh-key 文件以“Begin rsa private key”开头。
【解决方案2】:

正如@CodeWizard 提到的,Android Studio 正在从操作系统获取密钥,因此使用 ssh-add 将密钥添加到 ssh-agent 对我有用。

ssh-add ~/.ssh/id_rsa

更多信息: https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

【讨论】:

    【解决方案3】:

    如何使用 Windows 上的 Android Studio 和 PuttyGen 来生成密钥 - 傻瓜:

    1. 使用 PuttyGen 将您的私钥导出到文件 Conversions>Export OpenSSHKey

    2. 在您安装了 Android Studio 的 Windows 机器上,转到您的 %USER%/.ssh 目录。

    3. 将步骤1中导出的文件复制到该文件夹​​,并将文件名改为“id_rsa”。

    4. 在 Android Studio 菜单中,转到 VCS>Checkout from Version Control>Git。

    5. 粘贴 Git 网址(如其他回复中所述)并按“克隆”。

    6. 它应该要求您输入密钥文件(如果使用)的密码,而不是 Git 的密码。

    【讨论】:

      【解决方案4】:

      再添加一个答案。 Android Studio 带有内置的 SSH 客户端。您必须从内置切换到本机。 这将使用 .ssh 文件夹中的密钥

      文件 -> 设置 -> 版本控制 -> Git -> SSH 可执行文件 -> 本机

      【讨论】:

      • 这实际上也允许使用 GPG 提供的 SSH 密钥。如果您使用 Yubikey 托管的 GPG 密钥,这将特别方便,因为您必须使用 PIN 解锁 GPG 密钥,然后将其缓存一段可配置的时间。
      • 请注意,要使用的 SSH 可执行文件的配置选项已被删除,现在默认使用本机客户端。
      【解决方案5】:

      您只需将密钥添加到您的服务器。
      Android Studio 使用的是 OS git,而不是像 Eclipse 中的 Egit,它有自己的 git 实现。

      无需进行特殊配置。
      检查一切是否在 bash/terminal 中运行,它也可以在 Android Studio 中运行。


      What to do if its not working?

      如果您无法从 Studio 访问您的存储库,请使用以下格式作为您的连接 url

      :ssh:git@<server ip>:<git repository path>
      

      这将使用使用 ssh 密钥的直接连接。

      【讨论】:

      • 嗯,谢谢你的回答,但我还是不明白,我该怎么办。在 A-Studio 中,我执行 VCS - 从版本控制中签出 - Git。但是我应该把我收到的私钥放在哪里?我也不知道如何通过 git 控制台(在 Windows 应用程序中)使其工作。
      • 您只需将密钥放在 Windows 中的 %HOME%/.ssh 的用户/用户名下
      • 如果我只输入git地址,它需要用户名密码,这不应该。如果我使用你的方式 ssh:git@:,得到一个错误 Clone failed: Could not read from remote repository.
      • 生成 ssh 密钥并将它们放在您的 .ssh 文件夹下。它应该没有问题
      • 阅读。现在有什么问题?
      猜你喜欢
      • 2023-03-24
      • 2013-08-26
      • 1970-01-01
      • 2011-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 2014-12-26
      相关资源
      最近更新 更多