NixOS / nix

Nix, the purely functional package manager

Home Page:https://nixos.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flake archive SSH usage with `ControlMaster` and `ControlPath` hangs forever

nim65s opened this issue · comments

Describe the bug

Hi,

Flake archive SSH usage with ControlMaster and ControlPath hangs forever.

This is similar to #8329, but on flake archive and with ControlPath.

Steps To Reproduce

With a ~/.ssh/config containing:

ControlMaster yes
ControlPath ~/.ssh/master-%r@%n:%p

Run eg. nix --extra-experimental-features 'nix-command flakes' flake archive --to ssh://root@my-remote-nixos --json .

It hangs forever, and don't upload source to destination.

Expected behavior

flake source should be uploaded to ssh store on my-remote-nixos

nix-env --version output

tried both on nix (Nix) 2.18.2 & nix (Nix) 2.23.0pre20240503_00ca2b0

Additional context

Changing ~/.ssh/config by either setting no to ControlMaster or removing ControlPathfix the behaviour.

A workaround is to use NIX_SSHOPTS="-o ControlMaster=no"

This command is used by clan cli.

Priorities

Add 👍 to issues you find important.

A wild guess is that there is an inconsistency between the socket path provided by ControlPath and the socket path provided at

state->socketPath = (Path) *state->tmpDir + "/ssh.sock";

Edit: setting both to /tmp/ssh.sock doesn't fix it, so the guess was probably wrong.