From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: bug#33266: guix-copy: Honor the SSH port of a host when defined in ~/.ssh/config Date: Sun, 04 Nov 2018 23:58:27 -0500 Message-ID: <87a7mo5de4.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55681) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJWyg-0003sc-TV for bug-guix@gnu.org; Sun, 04 Nov 2018 23:59:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJWyd-0007xL-L7 for bug-guix@gnu.org; Sun, 04 Nov 2018 23:59:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:58476) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gJWyc-0007un-11 for bug-guix@gnu.org; Sun, 04 Nov 2018 23:59:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gJWyb-00030z-St for bug-guix@gnu.org; Sun, 04 Nov 2018 23:59:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJWyI-0003hw-Gl for bug-guix@gnu.org; Sun, 04 Nov 2018 23:58:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJWyC-0007HL-Sa for bug-guix@gnu.org; Sun, 04 Nov 2018 23:58:40 -0500 Received: from mail-it1-x135.google.com ([2607:f8b0:4864:20::135]:34312) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gJWyB-00075b-1d for bug-guix@gnu.org; Sun, 04 Nov 2018 23:58:36 -0500 Received: by mail-it1-x135.google.com with SMTP id t189-v6so6752768itf.1 for ; Sun, 04 Nov 2018 20:58:31 -0800 (PST) Received: from apteryx (76-10-140-126.dsl.teksavvy.com. [76.10.140.126]) by smtp.gmail.com with ESMTPSA id q131-v6sm3333366itb.5.2018.11.04.20.58.28 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 04 Nov 2018 20:58:29 -0800 (PST) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 33266@debbugs.gnu.org --=-=-= Content-Type: text/plain Hello, I recently stumbled on the bug where guix copy would the port 22 even when I had specified a different one in my ~/.ssh/config file. This bug is triggered when omitting the port in the --to= (or --from) expression, such as in guix copy --to=somehost bash And where somehost exists in ~/.ssh/config, say: Host somehost User someuser HostName someplace.somedns.net Port 1234 Instead of using port 1234, the port 22 would be used. Commit cc1dfc202f is the reason of this overriding; the attached patch reverts it, with a detailed explanation. Thank you, Maxim --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Revert-copy-Default-to-port-22.patch >From 942eb8cabef5b7c8b4425c765b6ee2ac9f529ad8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 4 Nov 2018 23:35:16 -0500 Subject: [PATCH] Revert "copy: Default to port 22." This reverts commit cc1dfc202f2fefb6c2eb9467d1fc90a9154550c9. Specifying a default port had the undesirable effect of disregarding a port specification for a given host in the ~/.ssh/config that would otherwise have been honored at the time `open-ssh-session' calls the `session-parse-config!' method. In any case, `make-session' will default the port value of the created session to 22 if left unspecified. --- guix/scripts/copy.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/guix/scripts/copy.scm b/guix/scripts/copy.scm index 4c8592985..d35eed74e 100644 --- a/guix/scripts/copy.scm +++ b/guix/scripts/copy.scm @@ -75,8 +75,7 @@ package names, build the underlying packages before sending them." (and (or (assoc-ref opts 'dry-run?) (build-derivations local drv)) - (let* ((session (open-ssh-session host #:user user - #:port (or port 22))) + (let* ((session (open-ssh-session host #:user user #:port port)) (sent (send-files local items (connect-to-remote-daemon session) #:recursive? #t))) @@ -89,7 +88,7 @@ package names, build the underlying packages before sending them." (let*-values (((user host port) (ssh-spec->user+host+port source)) ((session) - (open-ssh-session host #:user user #:port (or port 22))) + (open-ssh-session host #:user user #:port port)) ((remote) (connect-to-remote-daemon session))) (set-build-options-from-command-line local opts) -- 2.19.0 --=-=-=--