编辑:我已经看到了可行的情况和不可行的情况,我不确定我何时/为什么这样做。
假设我有一个足够复杂的条目,我在其中指定了多个参数来获取thathost
:
Host thathost
ControlMaster auto
ServerAliveInterval 8
ConnectTimeout 8
Hostname 192.168.5.1
User mememe
ProxyJump thejumpbox
我想通过添加或覆盖某些配置来重新使用此定义来创建提供不同功能的其他条目。专门指定一个备用端口(不,我不想在命令行上使用它)。
理想情况下,我可以做类似的事情
Host theirhost
Hostname thathost
User themthem
或者
Host my-remote-serialport
Hostname thathost
RequestTTY yes
RemoteCommand some-script-that-launches-kermit-on-a-specific-dev-tty
或者
Host my-remote-serialport
Hostname thathost
Port 3004
我严格地希望根据另一个现有的主机来指定一个主机,我不想修改我的Host
条目以匹配一些模式“技巧”。
显然,我可以使用ProxyCommand ssh -q nc thathost...
or ProxyJump thathost
+Hostname localhost
后跟所有其他覆盖(端口覆盖将传递给nc
),但这既丑陋又浪费(额外的会话) - 请不要回答这个问题。
对我来说,这一直是的缺失功能,ssh-config
但也许我看起来不够努力。