首页 > 解决方案 > VS Code / Bitbucket / SSH - 权限被拒绝(公钥)

问题描述

我正在尝试通过 ssh 从 vscode 访问 bitbucket,但总是获得权限被拒绝 (publickey)

SSH 密钥位于 下~\.ssh\,公钥在 中正确设置bitbucket/settings/security/sshkeys。密钥已经过测试并且可以正常工作!

启动后,我可以从 windows 命令提示符和 powershell 访问我的存储库而不会出现问题,但不能从 git bash 或 vscode 访问。在 git bash 中手动设置 ssh 并启动 vscode 可以:

eval $(ssh-agent)
ssh-add /c/Users/username/.ssh/privatekey
code

我的环境:

对我来说,问题归结为一个问题:为什么 vscode 不使用 windows native,正确设置 ssh 服务,而是依赖 git bash ssh 代理?

免责声明:我花了几个小时阅读有关此主题的主题并摆弄设置。我怀疑这个问题与 Windows10 下网络驱动器的延迟部署有关(一个已知问题)。我的 Windows 组策略设置为在启动/登录时等待网络。

标签: gitsshvisual-studio-codewindows-10bitbucket

解决方案


Windows 10 允许使用所有默认的 OpenSSH 工具。但是,每次我尝试通过 SSH 从 Github、Gitlab 或 Bitbucket 克隆存储库时,git 都会抛出权限被拒绝。您需要进行一些调整才能使其正常工作。

  1. 确保 ssh-agent 服务已启用,或在 Powershell 中运行(以管理员身份):

Get-Service -Name ssh-agent | Set-Service -StartupType Manual

  1. ssh-agent
  2. ssh-add
  3. git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe

推荐阅读