我有一个文件,其中只包含服务器的 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 配置。
所有这些解决方案都需要一些编程技能,如果您不熟悉任何建议的工具,那么最后一个可能是最简单的。