Skip to content

VSCode Remote between two AAD-joined Windows PCs is not very seamless #1707

Open
@dfields-msft

Description

@dfields-msft

"OpenSSH for Windows" version
OpenSSH_for_Windows_8.1p1

Server OperatingSystem
Windows 10 20H2

Client OperatingSystem
Windows 10 2004 Insider Preview (20214.1001)

What is failing
My scenario is using VSCode Remote to connect between my laptop (client) and PC (server) so that I can use the full power of the PC to build, etc. while running the VSCode editor locally on the laptop. Both PCs are running Windows and are AAD-joined. There are a few "speed-bumps" that make configuring this difficult and clunky:

  1. I can only authenticate with keyboard-interactive - neither publickey nor gssapi-with-mic work properly, which means I am typing my password repeatedly. (This may be separately tracked by AD user cannot be authenticated by Key when sshd server is running by system(Password works), but key auth is working for user if user starts openssh by himeself with .\sshd.exe -d #1543.)
  2. Once I'm logged in, VSCode Remote is able to get up and running, but git commands fail to find my credentials since the shell is running in session 0 (non-interactive). (See also CMDKEY fails to add credential in ssh session 0 #996 which is related.) My hope is that once GSSAPI authentication works in this scenario, the resulting session will have full access to my credentials and resolve this, but I'm not sure whether it will actually work that way...
  3. The remote shell is always running with elevated privileges, which feels unsafe; if I were doing my development workflow locally, I wouldn't need to be elevated and I'd prefer to be able to connect as a non-elevated user for VSCode Remote purposes.

As for the specifics of attempting to log in with GSSAPI, I enabled this on the server by adding GSSAuthentication yes to sshd_config and restarting the service. Then I connected from the client using ssh -K, but this just fails with GSS_S_FAILURE in the verbose logs, and moves on to interactive keyboard login.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions