PowerShell / PowerShell/Win32-OpenSSH

Change in handling of IdentityAgent configuration between 8.6 and 8.9

Open
#1,949 3 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
8.3k
Forks
819
PR merge metrics
No merged PRs in 30d

Description

I use this fork of Krypton to get a Windows build; it's been fine as provided until now.

After updating to OpenSSH 8.9.1 (which I think actually came through with the latest Windows 11 Insider build) krssh was no longer working for me. After rolling Windows back and installing from the MSI and running some tests, I've concluded that the problem is that with the IdentityAgent set the way Krypton configures it:

IdentityAgent \\.\pipe\krd-agent

in 8.9.1 there is an error which didn't occur in 8.6; details below.

Either changing all the backslashes in that config line to forward slashes, or leaving that line out and setting $env:SSH_AUTH_SOCK to that value instead (with any combination of slashes I tried), seems to fix the problem.

I'm not sure whether that means there is some kind of new bug in parsing/handling that setting or if it should have required forward slashes all along and the handling has actually been fixed. In case it's the former, and in case it might help anyone else, I thought I should report it even though I seem to have found a fix/workaround.

"OpenSSH for Windows" version
8.9.1.0

Server OperatingSystem
Any

Client OperatingSystem
Windows 11 Insider

What is failing
krd-agent

Expected output
(from ssh -v in OpenSSH 8.6)

debug1: Will attempt key: RSA SHA256: agent

Actual output
(from ssh -vvv in OpenSSH 8.9.1)

debug3: unable to connect to pipe \.\pipe\krd-agent, error: 3
debug1: get_agent_identities: ssh_get_authentication_socket: The socket is not connected

Note: ssh -vv or ssh -v results in the following instead

debug1: get_agent_identities: ssh_get_authentication_socket: No such file or directory

./.ssh/config excerpt

Host *
    IdentityAgent \\.\pipe\krd-agent
    ProxyCommand path\to\krssh.exe %h %p

Fixed with:

Host *
    IdentityAgent //./pipe/krd-agent
    ProxyCommand path\to\krssh.exe %h %p

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the IdentityAgent configuration from the issue on OpenSSH 8.6 and 8.9.1, comparing the verbose output for backslash and forward-slash pipe paths. Trace the configuration handling and agent connection behavior to determine whether the change is intentional or a regression; done means establishing the expected path syntax and documenting or fixing the version difference.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.