是否可以将 kerberos 身份验证与 Visual Studio 代码远程一起使用?

Zan*_*our 5 vscode-remote

我们使用 kerberos 身份验证连接到我们的本地计算环境。我想使用visual studio code remote直接在该服务器上进行开发。基于vscode 远程文档中的这一部分,似乎可以使用基于密码的身份验证,这对我有用,但是如果我可以使用现有的 kerberos 身份验证,而不必每次输入密码,那就太好了启动一个 vscode 会话。

我试过搜索上面的文档,但我不知道是否支持 kerberos。我想知道我是否应该在问题跟踪器恭敬地提出问题

Rom*_*man 6

2020 年 3 月更新。

我使用简单的 PuTTY (plink.exe) 使用这些简单的步骤从 VsCode 连接到 kerberos。

  1. 在 PuTTY 中定义一个会话,该会话可打开远程计算机的 ssh shell,将其另存为remote.
  2. 使用以下内容创建“C:\Users\< youruser >\ssh.bat”。你需要 echo 来欺骗 VsCode 它是 OpenSSH 客户端。
    echo OpenSSH
    SET mypath=%~dp0
    powershell %mypath%ssh.ps1 %*
    
    Run Code Online (Sandbox Code Playgroud)
    1. ssh.ps1使用以下内容在同一文件夹中创建 powershell 脚本:
$ArgArray = [System.Collections.ArrayList]$Args
$ind = $ArgArray.IndexOf("-F")
if ($ind -ge 0) {
  $ArgArray.RemoveAt($ind)
  $ArgArray.RemoveAt($ind)
}
Write-Host $ArgArray
& 'C:\Program Files\PuTTY\plink.exe' $ArgArray
Run Code Online (Sandbox Code Playgroud)

理论上你可以用批处理语言编写它,但我不想受苦。

  1. 将 VsCode 中的“remote.SSH.path”设置设置为您的ssh.bat路径。
  2. 最后,在 vscode 中添加 ssh 主机配置并使用会话名称作为主机:
 Host remote
     HostName remote
     User <you ssh user> 
Run Code Online (Sandbox Code Playgroud)

  • 对于那些不熟悉 powershell 的人来说,bat 文件实际上应该是“powershell -NoProfile -ExecutionPolicy Bypass %~dp0ssh.ps1 %*”。这仍然有效(并且是需要的)2020 年 8 月 1.48.2,唯一的问题是我需要增加 ssh 超时(由于我的 ssh 服务器很慢)。谢谢你! (2认同)

Bra*_*ing 2

目前这是不可能的。有一个与此相关的功能请求已被关闭,因为它在可预见的将来不会实现。