我有混帐的Windows(配置MinTTY和PuTTY\plink.exe
)和腻子安装,我试图让它有到位桶仓库的工作。我有我的SSH密钥加载,在佳丽和网站上,可是每当我试图做任何事情需要拉/推:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
当我运行建议ssh -v [email protected]
我在id_rsa
其他按键的它使用~/.ssh
但没有。试图使用ssh-add ~/.ssh/bitbucket_rsa
结果:
Could not open a connection to your authentication agent.
我读过有关配置腻子允许转发,而这通常是在咨询结束,所以我只是将此选项设置为默认会话,并将其保存在那里。
我已经运行ps
检查哪些应用程序正在运行,并ssh-agent
不在其中。运行eval 'ssh-agent'
启动守护程序,但它没有什么区别。
这是最终为我工作。
顺便说一句,我有在Windows猛砸为好,但我不认为事情。
我已经安装Sourcetree,并在其与plink.exe
,puttygen.exe
,与pageant.exe
文件夹中指出。你也可以单独下载并安装这些孩子的。
Environment
到Windows 10的搜索栏。否则,打开系统属性/高级系统设置,找到你的环境变量。plink.exe
文件(你也可以在同一个文件夹中pageant.exe
和puttygen.exe
)。
我的是:C:\Program Files (x86)\Atlassian\SourceTree\tools\putty\plink.exe
注:新Sourcetree(在Windows V2)使用版本的目录,所以每次更新它,你就必须更新此这是一种痛苦。这是最好的只是让plink.exe
的副本,并把它的地方,这不会改变。
如果您有任何上述程序的运行,你可以随时打开任务管理器,找到进程,并打开该文件夹的位置,以获得路径plink.exe
。确保使他们得到更新的环境变量,重新启动终端。对于我来说,我跑我的Visual Studio Code内集成终端猛砸,所以我不得不重新启动Visual Studio代码。那就肯定是可以接受的,收综合终端,并打开一个新的,但我也想内置的混帐功能在Visual Studio代码工作为好。
鉴于本人Sourcetree安装我能够使用其接口克隆往下掉到位桶,并通过其接口推动,而是通过终端试图不工作,因为他们使用不同的凭据集。
要指出的另一个有趣的事情是,如果你导航到位于项目的git的配置:./.git/config
,你可以从使用SSH HTTPS换出你的遥控器。你可以抓住你的到位桶库从您概述以下值。
[email protected]:USERNAME/REPO_NAME.git
https://[email protected]/USERNAME/REPO_NAME.git
我在使用HTTPS在Windows 10,然后它会使用Windows凭据管理器发现(我尝试添加我的凭据,它在试图弄清楚这一点我自己,但我还是用SSH所以这并不重要),当你去互动与远程仓库它会提示您输入凭据,并将它们存储在Windows凭据管理器以后使用:)
希望这些方法之一将制定出适合您。该HTTPS方法将跳过整个SSH密钥生成,将其推成到位桶,但感觉更安全和便携式我。
您可能需要您的密钥添加到钥匙链,特别是如果你使用Visual Studio代码,并有密码在你的密钥(目前Visual Studio代码不会让你输入一个密码)。
ssh-add -K ~/.ssh/id_rsa
我不知道,如果这些可能是别人有帮助的,但我一直在下面得到支持SSH到Visual Studio代码为Windows:https://github.com/Microsoft/vscode/issues/13680。
你是混合的东西了。
腻子佳丽都没有在OpenSSH工具不兼容,无法相互通信。腻子不能从您的OpenSSH代理读取钥匙和OpenSSH无法读取佳丽的关键。密钥的格式也不同。也就是说在这个世界上是一件坏事,但在地平线上无解。
此外“代理转发”的程度超过“使用代理”不同。
如果设置的Git与砰砰(确保你真的),检查你的佳丽正在运行,如果选择“使用佳丽尝试身份验证”是在腻子已存储的配置文件下连接→SSH→验证检查。
如果它不会解决你的问题,从发布一些腻子调试日志。
你不需要腻子SSH与到位桶的工作:包装在混帐的窗口工作就好了OpenSSH的版本(C:\prgs\git\PortableGit-2.7.0-64-bit\usr\bin\ssh.exe
)。
确保,在当前的shell会话,你已经HOME设置为%USERPROFILE%
(一PortableGit-2.7.0-64-bit\git-cmd.exe
就足以打开一个普通CMD正确配置)。
中创建一个名为config
文件%USERPROFILE%\.ssh
(如step 3 of the Atlassian documentation):
Host bitbucket.org
IdentityFile ~/.ssh/bitbucket_rsa
(您也可以使用“/C/path/to/bitbucket_rsa
”。)
这允许使用SSH URL喜欢bitbucket.org:user/repo
。与ssh -Tv bitbucket.org
测试(增加你的公钥到您的帐户到位桶,当然后)。
注意:如果你的私钥是密码保护时,才需要ssh-agent
。
更新2018年,两年后: “Say Farewell to PuTTY as Microsoft adds an OpenSSH Client to Windows 10”。这实在是时间沟腻子旁白:无需为不同的(PPK)密钥格式和proprietary solution,现在OpenSSH正式发布为Windows功能(测试版现在,Q1 2018)。
要访问的Git猛砸,那Git附带的Windows在加载Pegeant SSH密钥,您可以使用this program。安装过程所链接的页面描述。
我使用Git的Bash什么工作为Windows 7:转换.pkk文件OpenSSH格式:
添加生成的密钥Git是击到IdentityFile .ssh/config
,例如:
Host repository
# My converted OpenSSH key
IdentityFile /c/Users/me/open-ssh.pri
# This repository server uses a specific name, not usually needed.
User git
# This repository server uses a specific port, not usually needed
Port 8322
# Repository server full name
Hostname repo.server.com