On 7/17/19 1:41 PM, TJ Luoma wrote:
I have several hosts defined in ~/.ssh/config like so: Host myhost HostName myhost.luo.ma User myuser Port 5555Something changed, because now when I type "ssh my[tab]" I get "ssh myhost.luo.ma" instead of "ssh myhost" which then fails because it isn't using the port specified in ~/.ssh/config.
Tweak your Host entry to include the FQDN, e.g.: Host myhost.luo.ma myhostI don't think the order matters. I personally like to put the FQDN first and then aliases after. (I pattern off of the hosts file.)
I _think_ it has to do with the ~/.ssh/known_hosts file, because if I delete the entry from that file, tab completion seems to work as I expect.I've looked around for a solution, and it appears that if I add this line: HostKeyAlias myhostthen the short hostname gets uses for the known_hosts file, but I'm not sure if that's a "good" solution or not.
I think that's functionally (part of) defining a new host by the alternate name and recognizing the alternate name's host key.
I'd suggest trying adding aliases to the Host entry, as described above. I've done things like this: Host FQDN alias project<#>-db customer<#>-db current-problem-childThe project<#>-db is nice so that I can easily ssh into a project's DB server without needing to mentally translate to the host name. I can literally do the following:
Is there a way to tell zsh to only do tab-completion for ssh out of ~/.ssh/config and ignore ~/.ssh/known_hosts ?
I'm sure there is a way. I don't know what it is. I've not dealt with this issue in about 6 years.
-- Grant. . . . unix || die
Description: S/MIME Cryptographic Signature