Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git VS代码/Bitbucket/SSH-权限被拒绝(公钥)_Git_Ssh_Visual Studio Code_Windows 10_Bitbucket - Fatal编程技术网

Git VS代码/Bitbucket/SSH-权限被拒绝(公钥)

Git VS代码/Bitbucket/SSH-权限被拒绝(公钥),git,ssh,visual-studio-code,windows-10,bitbucket,Git,Ssh,Visual Studio Code,Windows 10,Bitbucket,我试图通过ssh从vscode访问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从vscode访问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
我的环境:

  • Windows 10企业版(1803/17134.765)
  • Visual Studio代码(1.35.0)
  • git for windows(2.20.1.windows.1)
  • 通过ssh的bitbucket
  • 我想我正在使用后来的Windows10更新中引入的ssh代理(不确定如何检查,但windows ssh代理服务正在运行)
  • 我的用户文件夹(包含/.ssh)和repo的工作副本位于网络驱动器上
对我来说,问题归结为一个问题: 为什么vscode没有使用windows本机、正确设置ssh服务,而是依赖git bash ssh代理


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

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

  • 确保ssh代理服务已启用,或以管理员身份在Powershell中运行:
  • 获取服务-名称ssh代理|设置服务-StartupType手册

  • ssh代理
  • ssh添加
  • git config--global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe

  • 通过使用用于HTTPS连接的Windows安全通道库为我解决了该问题


    除了Alexandr Pilgun的回答之外,还有一些额外的信息对我产生了影响

    在步骤4中,我需要提供两个反斜杠。VSCode抱怨找不到ssh.exe。使用双反斜杠如下所示:

    git config --global core.sshCommand C:\\Windows\\System32\\OpenSSH\\ssh.exe
    
    我正在使用Windows 10.0.19042 Enterprise

    您还可以在VSCODE中“在终端中打开”文件夹

    从那里,您可以继续推送您的更新
    git推送原始主机
    然后它要求输入密码,只需键入密码并输入,然后它就会继续


    我希望这能帮助你们中的一些人快速解决问题。

    就是这样!非常感谢!我花了很长时间才找到正确的答案。这终于做到了。在第一个命令后,我收到以下错误:PS C:\Users\Tim>get Service-Name ssh agent | Set Service-StartupType手动设置服务:由于以下错误,无法配置服务“OpenSSH身份验证代理(ssh agent)”:访问被拒绝您需要以管理员身份运行Windows Powershell(右键单击“以管理员身份运行”)。否则,您将获得访问被拒绝的错误。同样的问题,我尝试了此解决方案,现在在尝试将repo ``克隆到'C:\Users\yamab\Source\Repos\prdb intro'…错误:无法生成C:/Windows/System32/OpenSSH/ssh.exe:克隆远程存储库时未遇到此类文件或目录错误:Git失败,出现致命错误。无法分叉´´´´´´也尝试了此解决方案,我知道已``克隆到'C:\Users\yamab\Source\Repos\prdb intro'…C:\\Windows\\System32\\OpenSSH\\ssh.exe:C:\Windows\System32\OpenSSH\ssh.exe:克隆远程存储库时未遇到此类文件或目录错误:Git因致命错误而失败。是否可以未从远程存储库读取。请确保您具有正确的访问权限,并且存储库存在。'''''''''''''''''当尝试克隆repo时