use*_*278 9 bash ssh autocomplete
我在一个企业网络中,在 ssh 之后双击会导致它吐出计算机建议以 ssh 连接。但是,我注意到的是,根据我使用的计算机,会建议使用不同的计算机。删除.ssh/known_hosts不会改变行为。ssh 在哪里引入这些建议的计算机?
Jak*_*uje 12
OpenSSH 正在使用包中的 bash 完成bash-completion。负责的脚本存储在/usr/share/bash-completion/completions/ssh(在 Fedora 上。在不同的发行版上可能会有所不同)。该_known_hosts_real函数是在全局定义的/usr/share/bash-completion/bash_completion,您可以看到它正在使用以下所有内容(已知主机只是来源之一):
~/.ssh/known_hosts/etc/ssh/ssh_known_hosts, /etc/ssh/ssh_known_hosts2, /etc/known_hosts, /etc/known_hosts2...host主要使用别名,但也使用Hostnames)
~/.ssh/config,~/.ssh2/config/etc/ssh/ssh_config-F交换机提供的配置文件~/.ssh2/key_22_<hostname>.pub(我不知道为什么)avahi-browseruptime具体信息来源请查阅源代码。