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 5555 > > Something 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 myhost I 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 myhost > > then 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-child The 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: ssh project815-db > 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