(git bash)推送到bitbucket忽略SSH密钥

Ben*_*ema 11 windows git ssh bitbucket git-bash

我在网上找了一堆博客小道,了解应该如何设置,我有以下情况:

首先,ssh -T git@bitbucket.org返回以下结果

conq: logged in as myuser.
You can use git or hg to connect to Bitbucket. Shell access is disabled.

这意味着我已经在本地和bitbucket中正确设置了ssh密钥,同意了吗?

我有一个〜/ .ssh/config,其中包含以下内容:

Host bitbucket.org
 IdentityFile ~/.ssh/id_rsa

那个关键是在那里.

但是,当我尝试命令(取自另一个教程)时git push origin master,我会得到一个弹出窗口说:

---------------------------
PuTTY Fatal Error
---------------------------
Disconnected: No supported authentication methods available (server sent: publickey)
---------------------------
OK   

Sto*_*ica 20

从错误来看PuTTY Fatal Error,看起来Git正在尝试使用PuTTY来对ssh进行身份验证.问题是PuTTY根本不知道你的设置~/.ssh.设置~/.ssh仅在使用opensshGit Bash 时附带有意义.看起来好像已经将GIT_SSH环境变量设置为plink.exe,这是一个PuTTY的工具.

你有两个选择:你可以使用PuTTY和plink.exessh操作,或者你可以使用openssh它是Git Bash的一部分.

如果你使用PuTTY,那么你需要管理你的ssh密钥pageant.exe,这也是PuTTY的一部分.这是一个非常好的工具.运行它,在任务栏中你应该看到一个图标.右键单击该图标以添加您的私钥.使用PuTTY的另一个步骤是设置,GIT_SSH但看起来你已经完成了.在此设置git push将使用plink.exe,它是PuTTY的一部分,将正确找到存储的私钥pageant.ext.

如果你想使用openssh它是Git Bash的一部分,那么你需要做的就是摆脱这个GIT_SSH设置.确保设置在使用时确实为空的一种方法git push是运行如下命令:

GIT_SSH= git push origin master
Run Code Online (Sandbox Code Playgroud)

  • 对于那些使用plink的PuTTY选美的人来说,下面的命令应该是等价的(假设plink在PATH中)`plink -ssh git @ bitbucket.org` (3认同)