首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSH从哪里拉自动完成?

SSH从哪里拉自动完成?
EN

Unix & Linux用户
提问于 2017-06-14 00:06:25
回答 1查看 2.3K关注 0票数 9

我在一个企业网络中,在ssh之后的双标签导致它吐出对ssh的计算机建议。然而,我注意到的是,取决于我在哪台计算机,一套不同的计算机将被建议。删除.ssh/known_hosts不会改变行为。ssh把这些建议的计算机拉到哪里去了?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-06-14 06:48:37

OpenSSH正在使用来自包bash-completion的bash完成。负责的脚本存储在/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-browse报告的主机
  • ruptime报告的主机
  • 正常主机名完成结果

有关特定信息来源的详细信息,请参阅源代码。

票数 12
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/370980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档