【问题标题】:Setting up SSH keys for Bitbucket on Windows在 Windows 上为 Bitbucket 设置 SSH 密钥
【发布时间】:2016-08-17 04:30:55
【问题描述】:

首先,我是 git、repos 和命令行的绝对菜鸟。我在 Bitbucket 上有 repo,我基本上希望能够通过 gitbash 推送到存储库,而无需每次都输入密码。

我有什么

  • Bitbucket 上已设置代码的存储库。
  • 克隆存储库的本地目录。
  • 通过 PuTTY 生成的公钥和私钥。
  • 通过“管理 SSH 密钥”页面将公钥添加到 Bitbucket。

我现在如何让它工作,这样我每次从 gitbash 终端推送时都不必输入密码?我使用的是 Windows 10。

【问题讨论】:

  • 尝试按照本页给出的步骤操作:confluence.atlassian.com/bitbucket/…
  • 我也遇到了这个问题:为了清楚起见,我使用建议的带有 https 的“git clone”命令将 repo 从 bitbucket 克隆到本地计算机,然后我向 bitbucket 添加了一个 SSH 密钥。它仍然会要求输入密码。然后我意识到建议的“git clone”命令在添加密钥后已更改为使用 git/ssh 协议...您需要更新遥控器。

标签: windows git ssh bitbucket


【解决方案1】:

请按照步骤将 ssh 密钥添加到 bitbucket 帐户以解决您的问题。

  1. 打开 git bash 终端并输入命令 ssh-keygen -t rsa -C "your email address"
  2. 输入密码(留空)并输入
  3. 再次输入相同的短语(留空)并输入
  4. 复制 id_rsa.pub 文件内容,从它驻留在系统中的位置 (C:\Users\username\.ssh)
  5. 登录bitbucket账号,点击右上角用户图标->bitbucket设置->安全菜单下的ssh密钥,然后粘贴到密钥字段并保存。 6.重新启动你的 git bash 终端并输入 git init 命令并添加 ssh git 存储库位置 git@bitbucket.org:username/repository_name.git 它存在于你的 bitbucket 存储库中.

享受吧!

【讨论】:

  • 像魅力一样工作。仅供参考,将创建公钥和私钥,确保将其添加到 /home/.ssh 文件中
  • 克隆时我也一直需要输入密码。这解决了我的问题,因为我创建了没有密码的密钥。我怎么没想到,我不知道!我想我认为它会不那么安全?没有密码是否有任何严重的安全隐患?
【解决方案2】:

有两种方法可以加载远程 git 存储库:使用 SSH 和使用 HTTPS。

SSH 将使用密钥对,并且需要将公钥添加到您的 BitBucket/GitHub 配置文件中。

HTTPS 需要您的 BitBucket/GitHub 用户名和密码。每次与远程服务器交互(克隆、获取、推送、拉取)时,都会提示您输入密码。

如果当前系统提示您输入密码,这意味着远程 URL 当前设置为使用 HTTPS。您可以确定它正在运行git remote -v。要更改为使用 SSH,您需要通过运行git remote set-url <remote alias> <SSH URL> 将远程 URL 更新为 SSH URL。如果您只有一台远程服务器,<remote alias> 将是origin。您可以在存储库的克隆选项下的 BitBucket/GitHub 中找到 SSH URL。

【讨论】:

  • 我认为这是用户经常遇到的问题。他们没有意识到他们使用的是 HTTPS 协议而不是 SSH。正如 Andrew 所说,如果您看到密码提示,则表示您使用的是 HTTPS 而不是 SSH。
  • 这就是答案。
【解决方案3】:

1) 在您的主目录下创建 .ssh 文件夹,例如: mkdir C:\Users\USERNAME\.ssh

2) 将 id_rsa 和 id_rsa.pub 复制到上一步的目录中

3) 关闭并打开 cmd(控制台窗口)

4) 您需要将存储库克隆为 SSH 存储库,例如: git clone ssh://git@bitbucket.test.com:USERNAME/repository.git

那么它应该可以工作了。

【讨论】:

    【解决方案4】:

    关注这个guide

    我认为您错过了在生成 SSH 密钥对后,您需要将 SSH 私钥添加到 PuTTY 的密钥管理工具 pageant。

    首先,运行 pageant,它可以在安装 PuTTY 包的目录中找到(记住,默认情况下:c:\Program Files\PuTTY)。您将在系统托盘中看到一个小图标(请参见右侧的屏幕截图),表示选美已经开始。单击图标,然后在选美窗口中单击“添加密钥”。添加上一步中 puttygen 生成的私钥。私钥的扩展名为 .ppk,这是将其与您创建的公钥区分开来的最简单方法。

    添加 SSH 密钥后,您应该会在选美密钥列表中看到它。

    【讨论】:

    • 是的,我已经做到了。我可以在列表中看到它。但这对密码问题有什么帮助呢?现在,我要做的是,右键单击本地目录,“git bash here”并推送。它仍然要求我输入密码。我不想要那个。我在这里遗漏了一些基本的东西吗?
    • 你设置了你的 git 配置文件了吗?您是否设置了 GIT_SSH 环境变量?
    • 是的,当我尝试 git config --list 时,我可以看到我的 user.name 和 user.email 字段已填满。
    • 您的环境变量设置是这样 GIT_SSH=c:\Program Files\Putty\plink.exe 还是类似的?
    • 是的,完全一样。
    【解决方案5】:

    不要使用 PuTTY 生成密钥。 在 .ssh 中使用 ssh-keygen 创建一个新密钥。将密码留空。 在 PuTTY 中打开该新密钥。 将其复制并粘贴到 Bitbucket Key 字段中。 使用 PuTTY 和 Bitbucket 保存密钥。 它应该工作。

    【讨论】:

      【解决方案6】:

      如果您需要通过 powershell 在 windows 上更新多个 putty 会话:

      set-Itemproperty -path HKCU:\Software\SimonTatham\PuTTY\Sessions\sessionname -name PublicKeyFile -value "C:\Users\username.ssh\putty.ppk"

      【讨论】:

        【解决方案7】:

        对于 Windows 7 用户:

        1. 打开 Git Bash 并输入 ssh-keygen,然后按 Enter 三次 (一个用于位置,两个用于空密码)。
        2. 现在,dir .ssh 应该列出这两个文件:id_rsa id_rsa.pub
        3. 将公钥添加到您的 Bitbucket 设置中,如Set up an SSH key 中所述, 第 3 步。您基本上复制粘贴文件“id_rsa.pub”的内容 通过 Web 界面访问您在 BitBucket 中的个人资料(无管理员权限) 当然需要)。
        4. 重启 Git Bash。
        5. 转到您要克隆存储库的目标目录 并做一个git init
        6. 从 repo 的克隆中获取 ssh,然后执行git clone ssh://git@bitbucket.test.com:YOURUSERNAME/myrepository.git

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-05-19
          • 2016-11-11
          • 1970-01-01
          • 1970-01-01
          • 2015-06-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多