GNU bug report logs - #63359
30.0.50; Lack of ssh hosts completion in Tramp using Fido mode

Previous Next

Package: emacs;

Reported by: Bartosz Kaczyński <bkaczynski <at> posteo.net>

Date: Mon, 8 May 2023 07:24:03 UTC

Severity: normal

Tags: notabug

Found in version 30.0.50

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Bartosz Kaczyński <bkaczynski <at> posteo.net>
Cc: 63359 <at> debbugs.gnu.org
Subject: bug#63359: 30.0.50; Lack of ssh hosts completion in Tramp using Fido mode
Date: Mon, 08 May 2023 13:08:10 +0200
Bartosz Kaczyński <bkaczynski <at> posteo.net> writes:

> Hi,

Hi Bartosz,

> I would like to report an issue with the lack of SSH hostname
> suggestions when connecting via Tramp using the Fido mode. Previously, I
> used the exact same configuration in the Icomplete mode and the
> completion worked, meaning I could do C-x C-f, start typing /ssh: <tab>,
> and it would suggest a list of hosts defined in the configuration file.
>
> I keep my connection in following structure:
>
> tree ~/.ssh/conf.d/
> .ssh/conf.d/
> ├── lab
> ├── personal
> ├── companyX
> └── companyY
>
> and following line in ~/.ssh/config:
>
> Include conf.d/*
>
> My fido-mode configuration:
>
> (use-package icomplete
>   :config
>   (fido-mode t)
>   (fido-vertical-mode t))  

I cannot say why/how it worked for you in the past. But the Tramp manual
discusses this case:

--8<---------------cut here---------------start------------->8---

4.18.1 Using ssh config include for host name completion
--------------------------------------------------------

OpenSSH configuration files can use an ‘Include’ option for further
configuration files.  Default TRAMP host name completion ignores this
option.  However, you can configure this yourself.

   Given, your ‘~/.ssh/config’ file contains the following option:

     Include ~/.ssh/conf.d/*

   The following code snippet in your ‘.emacs’ uses all files in that
directory for host name completion:

     (tramp-set-completion-function
      "ssh" (append (tramp-get-completion-function "ssh")
                    (mapcar (lambda (file) `(tramp-parse-sconfig ,file))
                            (directory-files
                             "~/.ssh/conf.d/"
                             'full directory-files-no-dot-files-regexp))))

   This code snippet does it for the ‘ssh’ method.  If you replace
"ssh" by "scp", it does it also for that method (or any other method
you like).
--8<---------------cut here---------------end--------------->8---

Have you tried this recipe?

> Thank you in advance for your help!
> bartk

Best regards, Michael.




This bug report was last modified 2 years and 14 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.