我正在尝试通过vscode通过ssh访问bitbucket,但始终会获得权限被拒绝(公钥)。
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本机,正确设置ssh服务,而是依赖git bash ssh代理?
免责声明:我花了几个小时阅读有关此主题的主题并摆弄设置。我怀疑该问题与Windows10下网络驱动器的延迟部署有关(一个已知问题)。我的Windows组策略设置为在启动/登录时等待网络。
答案 0 :(得分:1)
Windows 10允许使用所有默认的OpenSSH工具。但是,每次我尝试通过SSH从Github,Gitlab或Bitbucket克隆存储库时,git都会抛出拒绝权限。您需要进行一些调整才能使其正常工作。
Get-Service -Name ssh-agent | Set-Service -StartupType Manual
ssh-agent
ssh-add
git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
答案 1 :(得分:1)
除了亚历山大·皮尔根(Alexandr Pilgun)的回答外,一些其他信息对我也有所不同。
在第4步中,我需要提供两个反斜杠。 VSCode抱怨找不到ssh.exe。使用双反斜杠看起来像这样:
layout.children[1] = keywords
我正在使用Windows 10.0.19042 Enterprise
答案 2 :(得分:0)
答案 3 :(得分:0)
您还可以在VSCODE中“在终端中打开”文件夹。
从那里,您可以继续推送更新git push origin master
然后它要求输入密码,只需输入并输入,然后它将继续。
我希望这可以帮助某些人快速解决问题。