diff options
| -rw-r--r-- | pkgs/populate/default.nix | 18 |
1 files 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 '' |
