SSH 配置文件中的主机名

SSH 配置文件中的主机名

我有一个文件,其中只包含服务器的 IP 地址。我想要一个从该文件获取路径名的 SSH 配置。

例如,而不是这样:

Host insight-prod-manager-1
  User root
  Hostname 127.0.0.1

我想要这个:

Host insight-prod-manager-1
  User root
  HostnameFile path/to/ip_address

我查看了手册页,但什么也没找到

答案1

ssh 不支持此功能。以下是一些解决方法:

  • 使用系统配置管理器(例如 Ansible 或 Puppet)从模板自动创建 ssh 配置。
  • 运行您自己的 DNS 服务器,并使用自定义区域(如“host.local”)将“this.host.local”或“that.host.local”等名称解析为您选择的 IP。
  • 设置本地代理,例如 stunnel、调用从 systemd/inetd 调用的 netcat 的脚本,或者根据某个文件的内容连接到所需主机的其他软件。然后使用指向本地主机的主机名和代理正在监听的端口号设置您的 ssh 配置。

所有这些解决方案都需要一些编程技能,如果您不熟悉任何建议的工具,那么最后一个可能是最简单的。

相关内容