git WSL window 中的 vscode 扩展通过 SSH 不工作
git extension in vscode in WSL window via SSH not working
我在每个 SSH 的 WSL vscode window 中使用 bitbucket 存储库。只要我在 vscode bash 终端中输入 git 命令,克隆、拉动、推动等都可以正常工作。每个终端会话一次,我被要求提供我的 SSH 密码。
但是:我试图从 vscode 中的“源代码管理”扩展开始的每个 git 操作都不起作用。
示例:“克隆存储库”按钮显然开始克隆,但不复制任何回购文件(尽管它创建了回购文件夹和 .git
子文件夹)。
vscode 中的 git 输出显示了执行的命令,但没有任何有效的发生:
git clone git@bitbucket.org:<repoURL> <repoFolder> --progress
同时,vscode 工具提示“克隆 git 存储库”一直保留到永远。它从不询问我的 SSH 密码,但不会抛出任何错误。
我试过预先添加我的 ssh-keys,但之后没有任何变化。
当我在 windows 中工作时,“源代码管理”扩展没有这样的问题。
更新 2021-10-29
可重现的行为:
- git 通过 vsCode GUI(“源代码管理”)的操作 如果没有为 ssh 密钥设置密码
- 如果设置了密码并且密钥文件具有默认名称 (id_rsa),它的行为将如上所述
- 如果设置了密码并且密钥文件没有默认名称,则会显示“权限被拒绝(公钥)”错误。
简单的解决方案:
我在 WSL2 中配置了我的 .bashrc
eval ``keychain --eval --agents ssh id_rsa``
现在 vsCode 源代码管理使用受密码保护的 ssh 密钥。
key文件可以任意命名
我在每个 SSH 的 WSL vscode window 中使用 bitbucket 存储库。只要我在 vscode bash 终端中输入 git 命令,克隆、拉动、推动等都可以正常工作。每个终端会话一次,我被要求提供我的 SSH 密码。
但是:我试图从 vscode 中的“源代码管理”扩展开始的每个 git 操作都不起作用。
示例:“克隆存储库”按钮显然开始克隆,但不复制任何回购文件(尽管它创建了回购文件夹和 .git
子文件夹)。
vscode 中的 git 输出显示了执行的命令,但没有任何有效的发生:
git clone git@bitbucket.org:<repoURL> <repoFolder> --progress
同时,vscode 工具提示“克隆 git 存储库”一直保留到永远。它从不询问我的 SSH 密码,但不会抛出任何错误。
我试过预先添加我的 ssh-keys,但之后没有任何变化。
当我在 windows 中工作时,“源代码管理”扩展没有这样的问题。
更新 2021-10-29
可重现的行为:
- git 通过 vsCode GUI(“源代码管理”)的操作 如果没有为 ssh 密钥设置密码
- 如果设置了密码并且密钥文件具有默认名称 (id_rsa),它的行为将如上所述
- 如果设置了密码并且密钥文件没有默认名称,则会显示“权限被拒绝(公钥)”错误。
简单的解决方案:
我在 WSL2 中配置了我的 .bashrc
eval ``keychain --eval --agents ssh id_rsa``
现在 vsCode 源代码管理使用受密码保护的 ssh 密钥。 key文件可以任意命名