Skip to content

Win32-OpenSSH doesn't recognize WinRM Virtual Users #2419

@jootuom

Description

@jootuom

Prerequisites

  • Write a descriptive title.
  • Make sure you are able to repro it on the latest version
  • Search the existing issues.

Steps to reproduce

I want to run ssh-keygen inside a PowerShell JEA session running under a virtual account to manage SSH certificates. Unfortunately many of the ssh commands want to convert a UID to username even when it would not strictly be required - ssh-keygen being one of them. This fails when running under a virtual account.

Expected behavior

PS> ssh-keygen.exe -s C:\\ca -I "<user>" -n root C:\\user.pub
Signed user key user-cert.pub: id "<user>" serial 0 for root valid forever

Actual behavior

# JEA session configuration:
PS> Get-Content myjea.pssc
...
RunAsVirtualAccount = $true
...

# inside JEA session:
PS> whoami.exe
winrm virtual users\winrm va_11_<domain>_<user>

# run a custom JEA command:
PS> New-SSHCertificate ...
# which would run behind the scenes:
# ssh-keygen.exe -s C:\\ca -I "<user>" -n root C:\\user.pub
# result:
No user exists for uid 1

Error details

Environment data

PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.5.4
PSEdition                      Core
GitCommitId                    7.5.4
OS                             Microsoft Windows 10.0.20348
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Version

7.5.4

Visuals

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions