Dis*_*age 46 windows git ssh putty
我已经安装了Git for Windows(配置为MinTTY和PuTTY\plink.exe)并安装了PuTTY,并且我试图让它与BitBucket存储库一起工作.我已经在Pageant和网站上加载了我的SSH密钥,但每当我尝试做任何需要拉/推的事情时:
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
当我运行建议ssh -v hg@bitbucket.org它使用id_rsa但没有我的其他键~/.ssh.试图使用ssh-add ~/.ssh/bitbucket_rsa结果:
Could not open a connection to your authentication agent.
Run Code Online (Sandbox Code Playgroud)
我已经阅读了有关配置PuTTY以允许转发的内容,但这通常是建议结束的地方,因此我只为默认会话设置此选项并将其保存在那里.
我已经开始ps检查哪些应用程序正在运行,并且ssh-agent不在其中.运行eval 'ssh-agent'启动守护程序,但它没有任何区别.
CTS*_*_AE 88
这就是最终为我工作的东西.
顺便说一句,我确实在Windows上也有bash,但我认为这并不重要.
我已经安装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.exeplink.exe并放在一个不会改变的地方.plink.exe.确保重新启动终端,以便获取更新的环境变量.对我来说,我在VSCode中为我的集成终端运行bash,所以我不得不重新启动VSCode.关闭集成终端并打开一个新终端肯定是可以接受的,但我也希望VSCode中的内置git功能也能正常工作.
鉴于我已安装SourceTree,我能够使用其界面克隆掉BitBucket并推送其界面,但尝试通过终端无法正常工作,因为他们使用的是不同的凭据集.
另一个有趣的事情是,如果你导航到位于:的项目的git配置./.git/config,你可以将你的遥控器换成使用ssh到https.您可以从BitBucket存储库的Overview中获取以下值.
git@bitbucket.org:USERNAME/REPO_NAME.githttps://USERNAME@bitbucket.org/USERNAME/REPO_NAME.git我注意到在Windows 10上使用https时它会使用Windows凭据管理器(我尝试在尝试自己解决这个问题时添加我的凭据,但我仍然使用SSH因此无所谓)当你去互动时使用远程存储库,它将提示您输入凭据并存储它们以供以后在Windows Credential Manager中使用:)
希望其中一种方法能为您解决.HTTPS方法将跳过整个SSH密钥生成并将其推送到BitBucket,但对我来说感觉更安全和便携.
您可能需要将密钥添加到钥匙串,特别是如果您正在使用VSCode并且密钥上有密码(目前VSCode不允许您键入密码).
ssh-add -K ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)
我不确定这些对某些人是否有帮助,但我一直在关注为VSCode for Windows获得SSH支持:https://github.com/Microsoft/vscode/issues/13680.
你把事情搞混了。
PuTTY 和 Pageant 与 OpenSSH 工具不兼容,无法一起通信。PuTTY 无法从 OpenSSH 代理读取密钥,OpenSSH 无法从 Pageant 读取密钥。密钥格式也不同。这在这个世界上是件坏事,但在地平线上没有解决方案。
“代理转发”也不同于“使用代理”。
如果您使用 plink 设置 Git(确保您真的这样做了),请检查您的 Pageant 是否正在运行,以及是否在连接→ SSH → Auth下 PuTTY 中存储的配置文件中选中了“尝试使用 Pageant 进行身份验证”选项。
如果它不能解决您的问题,请从 PuTTY 发布一些调试日志。
您不需要 PuTTY 即可在 ssh 中使用 Bitbucket:C:\prgs\git\PortableGit-2.7.0-64-bit\usr\bin\ssh.exe打包在 git-for-windows 中的 OpenSSH 版本 ( ) 工作得很好。
确保在当前 shell 会话中,已将 HOME 设置为%USERPROFILE%(aPortableGit-2.7.0-64-bit\git-cmd.exe足以打开正确配置的常规 CMD)。
创建一个名为configin的文件%USERPROFILE%\.ssh (如Atlassian 文档的步骤 3中所示):
Host bitbucket.org
IdentityFile ~/.ssh/bitbucket_rsa
Run Code Online (Sandbox Code Playgroud)
(您也可以使用“ /C/path/to/bitbucket_rsa”。)
这允许使用 SSH URL,例如bitbucket.org:user/repo. 对其进行测试ssh -Tv bitbucket.org(当然,将您的公钥添加到您的 Bitbucket 帐户之后)。
注意:ssh-agent仅当您的私钥受密码保护时才需要。
两年后的 2018 年更新:“微软向 Windows 10 添加 OpenSSH 客户端,告别 PuTTY ”。现在确实是时候抛弃 Putty 了:既然OpenSSH已作为 Windows 功能正式发布(目前处于测试版,2018 年第一季度) ,则不需要不同的 (ppk) 密钥格式和专有解决方案。
| 归档时间: |
|
| 查看次数: |
34107 次 |
| 最近记录: |