diff --git a/doc/guix.texi b/doc/guix.texi index d2a21a0f4a..f97051e88c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -345,6 +345,9 @@ A number of optional fields may be specified: @table @code +@item port +Port number of the machine's SSH server (default: 22). + @item private-key The SSH private key file to use when connecting to the machine. diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 4d2f78f711..4a105e946f 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -56,6 +56,8 @@ (define-record-type* build-machine make-build-machine build-machine? (name build-machine-name) ; string + (port build-machine-port ; number + (default 22)) (system build-machine-system) ; string (user build-machine-user) ; string (private-key build-machine-private-key ; file name @@ -161,8 +163,9 @@ (define (remote-pipe machine mode command) "Run COMMAND on MACHINE, assuming an lsh gateway has been set up." (catch 'system-error (lambda () - (apply open-pipe* mode %lshg-command - "-l" (build-machine-user machine) "-z" + (apply open-pipe* mode %lshg-command "-z" + "-l" (build-machine-user machine) + "-p" (build-machine-port machine) ;; XXX: Remove '-i' when %LSHG-COMMAND really is lshg. "-i" (build-machine-private-key machine) @@ -328,6 +331,7 @@ (define (missing-files files) (missing (filtered-port (list (which %lshg-command) "-l" (build-machine-user machine) + "-p" (build-machine-port machine) "-i" (build-machine-private-key machine) (build-machine-name machine) "guix" "archive" "--missing")