我正在Windows上运行OpenSSH,使用自秋季/秋季创作者更新以来包含的内置OpenSSH。
我在PowerShell中正常使用ssh,但是Visual Studio远程开发(以及Git for Windows?)并未使用我的OpenSSH。相反,它们似乎使用MinGW中的Git for Windows SSH客户端。这意味着我所有已添加的ssh密钥在VS或Git的ssh-agent中都不存在。
如何让Visual Studio(和可能的Git)使用内置的OpenSSH安装,以便我可以在它们之间使用相同的ssh-agent?
PowerShell
以下是PowerShell中SSH的样子:
我在PowerShell中正常使用ssh,但是Visual Studio远程开发(以及Git for Windows?)并未使用我的OpenSSH。相反,它们似乎使用MinGW中的Git for Windows SSH客户端。这意味着我所有已添加的ssh密钥在VS或Git的ssh-agent中都不存在。
如何让Visual Studio(和可能的Git)使用内置的OpenSSH安装,以便我可以在它们之间使用相同的ssh-agent?
PowerShell
以下是PowerShell中SSH的样子:
c:\Users\myusername
> Get-Command ssh
CommandType Name Version Source
----------- ---- ------- ------
Application ssh.exe 7.7.2.1 C:\WINDOWS\System32\OpenSSH\ssh.exe
c:\Users\myusername
> Get-Command ssh-agent
CommandType Name Version Source
----------- ---- ------- ------
Application ssh-agent.exe 7.7.2.1 C:\WINDOWS\System32\OpenSSH\ssh-agent.exe
C:\Users\myusername
> Get-Command ssh-add
CommandType Name Version Source
----------- ---- ------- ------
Application ssh-add.exe 7.7.2.1 C:\WINDOWS\System32\OpenSSH\ssh-add.exe
c:\Users\myusername
> ssh-add -l
2048 SHA256:HASH_HERE C:\Users\myusername\.ssh\id_rsa (RSA)
Git Bash
myusername@COMPUTERNAME MINGW64 ~
$ which ssh
/usr/bin/ssh
myusername@COMPUTERNAME MINGW64 ~
$ which ssh-agent
/usr/bin/ssh-agent
myusername@COMPUTERNAME MINGW64 ~
$ which ssh-add
/usr/bin/ssh-add
myusername@COMPUTERNAME MINGW64 ~
$ ssh-add -l
Could not open a connection to your authentication agent.
Visual Studio
我正在使用VS Code远程开发。每次登录到我的远程计算机时,都会提示我输入私钥密码。
如果没有私钥认证,我将被提示输入登录密码(用于远程用户)。
免责声明:我在微软工作。