From a753c741e741d2a2edca190130e5b20a57c33773 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 9 Dec 2025 14:38:05 +0100 Subject: populate: use ssh control socket --- pkgs/populate/default.nix | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/pkgs/populate/default.nix b/pkgs/populate/default.nix index c526dfb..a5b3ebe 100644 --- a/pkgs/populate/default.nix +++ b/pkgs/populate/default.nix @@ -268,12 +268,16 @@ let ${ssh' target} ${quote target.host} ${quote command} ''; - ssh' = target: concatMapStringsSep " " quote (flatten [ - "${openssh}/bin/ssh" - (mkUserPortSSHOpts target) - "-T" - target.extraOptions - ]); + ssh' = target: writers.writeDash "ssh-wrapper" '' + exec ${openssh}/bin/ssh \ + ${concatMapStringsSep " " quote (mkUserPortSSHOpts target)} \ + -o ControlMaster=auto \ + -o ControlPath="$TMPDIR"/ssh-%r@$h:%p.sock \ + -o ControlPersist=1h \ + -T \ + ${concatMapStringsSep " " quote target.extraOptions} \ + "$@" + ''; in @@ -290,4 +294,6 @@ writers.writeDash "populate.${target.host}" '' set -x ${optionalString backup (do-backup { inherit target; })} ${concatStringsSep "\n" (mapAttrsToList (populate target) source)} + + ${ssh' target} -q -O stop dummy '' -- cgit v1.2.3