gpt4 book ai didi

git - Atlassian/BitBucket Sourcetree SSH 公钥被拒绝

转载 作者:IT王子 更新时间:2023-10-29 00:53:51 27 4
gpt4 key购买 nike

我正在 https://www.bitbucket.com 上的私有(private)存储库中处理一个项目.

我在本地编码,然后通过 BitBucket 的/Atlassian 的 Windows Git 客户端暂存、提交和推送更新,Sourcetree .

之后,我从远程共享服务器中提取文件,这需要 SSH 身份验证。

为了将 git 存储库与 BitBucket 帐户连接起来,我尝试了以下操作:

  1. 启动了嵌入式 Sourcetree SSH 代理 (Pageant)
  2. 使用我的密码将我的 .ppk(PuTTY 私钥)添加到 Pageant
  3. 在我的项目位置打开 SourceTree 终端,我们称它为 C:/Project
  4. 使用 git init 初始化存储库。
  5. 使用 git push -u origin --all 将存储库从我的计算机推送到 BitBucket。
  6. 收到此错误:Permission denied (publickey)。
  7. 尝试查看是否可以通过执行 ssh -Tv git@bitbucket.org 获得更详细的输出 - 尽管如此,Permission denied

我想找出到底出了什么问题 - Sourcetee 是否找到了我的 SSH key ? key 是否未加载到某个特定位置,导致此行为?

注意:我已将公钥加载到我在 BitBucket 上的个人资料中。

最佳答案

谁可能在 Mac 上使用新的 Sierra 遇到同样的问题。解决方案是通过以下方式将私钥添加到 SSH 代理:

ssh-add -K ~/.ssh/id_rsa

看起来身份 [id_rsa] 不会被 SSH 代理保留。

请注意,这不是一个永久性的解决方案。您每次克隆一个新存储库时都需要这样做。至少不需要为每次推送到远程提供私钥。

-------- 2017 年 9 月 28 日更新--------

永久解决方案(在 Sierra 上):

步骤:

1- 在执行任何操作之前,请确保后台有一个正在运行的 ssh-agent。

通过以下方式检查 ssh-agent 是否正在运行:

pgrep 'ssh-agent'

该命令返回该进程的 PID (ProcessID)(如果它正在运行)。如果您看到一个值.. 转到步骤#2。如果没有,那么您需要通过以下方式在后台运行该代理:

eval "$(ssh-agent -s)"

2- 编辑 ~/.ssh/config (如果它不存在则创建 su ):

Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa

3- 然后添加那个关键代理(那将是一次):

ssh-add -K ~/.ssh/id_rsa

就是这样。

实际上,第 2 步是关键步骤。我只是想提供一个完整的指南。

希望对您有所帮助。'.

关于git - Atlassian/BitBucket Sourcetree SSH 公钥被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22021378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com