我想使用ssh_config文件而不是传统的〜/ .ssh / config。我有一个简单的配置,可以通过堡垒主机(例如,端口23)访问主机。
ssh_config:
host bastion
hostname bastion.mydomain.com
port 23
host *.server
proxycommand ssh -W %h:%p bastion
ssh -F ssh_config test.server
无法正常工作,并向我抛出“ssh:无法解析主机名堡垒:名称或服务未知”。但是,如果将此配置放在〜/ .ssh / config中,则
ssh test.server
有效。据我了解,proxycommand无法使用命令行中给出的配置文件。
如果我想让我的命令行配置文件正常工作,我需要输入
proxycommand ssh -W %h:%p bastion.mydomain.com -p 23
但这似乎违反了简单的DRY原理(重复了端口和域)。我愿意构建的配置文件更长而又复杂。
是否有一种很好的方法来实现我想要的功能,即一个简单的,非重复的,可在命令行中使用的配置文件(proxycommand适用于该配置文件)?
最佳答案
答案的一半:
不要尝试递归地使用配置文件,而应完全不依赖Proxy命令的配置。host *.server
proxycommand ssh -W %h:%p bastion.mydomain.com -p 23
这样可以使其具有可移植性,但不能解决在每一行都必须执行此操作的其他问题,并且使更改堡垒主机地址成为一个困难的过程。
关于ssh - ssh -F配置文件和ProxyCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28304804/