无法使用 PhpStorm 和 WSL 以及私钥访问 GIT 远程

问题描述 投票:0回答:3

当尝试通过 SSH (

\\\$wsl\somedir\
) 将 Windows 上的 PhpStorm 中的远程存储库克隆到 WSL2 子系统 (
[email protected]/user/repo.git
) 时,我收到错误“权限被拒绝(公钥)”。私钥正确位于
/home/user/.ssh/id_rsa
内。

但是,直接从 WSL 中的 shell 尝试相同的操作时(在

eval ssh-agent
ssh-add
之后)是有效的。但使用 PhpStorm GUI 是不可能的 (
New Project -> Get from VCS
)。

git phpstorm wsl-2
3个回答
0
投票

私钥正确位于

/home/user/id_rsa
内。

默认位置应该是

/home/user/.ssh/id_rsa
,而不是
/home/user/id_rsa

如果这是一个拼写错误,并且密钥实际上在

.ssh
中,请从您首先输入的 shell 中打开 PhpStorm:
export GIT_SSH_COMMAND='ssh -Tv'

检查终端(或尝试从终端克隆)以查看 Git 尝试作为私钥访问的内容。


0
投票

解决方案似乎只是使用“chmod 0600 id_rsa”更改存储在 WSL 中的私钥的访问权限。


0
投票

对我有用。将您的

~/.ssh/config
与以下内容对齐:

Host github.com
        User git
        Hostname github.com
        PreferredAuthentications publickey
        IdentityFile /home/user/.ssh/id_rsa
        StrictHostKeyChecking no
        IdentitiesOnly yes
        AddKeysToAgent yes

我怀疑 PHPStorm 使用了某种具有不同初始配置的不同类型的 shell,而不是常规的 shell。上面指示 SSH 使用特定的用户和特定的密钥文件(注意,它可以命名为任何你想要的,只要你这样配置它,而不仅仅是

id_rsa
等),没有其他方式。

© www.soinside.com 2019 - 2024. All rights reserved.