扩展或继承 .ssh/config 中的现有条目

扩展或继承 .ssh/config 中的现有条目

我的 .ssh/config 文件中有以下条目:

Host myhost
    Hostname localhost
    User me
    ServerAliveInterval 30
    ProxyCommand ssh -q external-relay /usr/bin/nc -w 90 localhost 9889

myhost非常简单,它允许我从其 NATed 网络之外通过反弹进行访问external-relay

大多数时候我只想通过 SSH 连接到myhost,而不创建任何 SSH 隧道,但有时我想创建各种隧道以用于不同的目的。

-L如今,当我使用 ssh 时,我只需手动添加隧道条目myhost,但越来越难以记住我需要哪些端口集用于哪个目的。

我可以将这些自定义端口转发命令添加为别名,但我真正想要的是在我的.ssh/config文件中有单独命名的条目,基本上创建连接myhost并添加所需的隧道,但我不想myhost每次都复制整个配置,因为如果/当我更改时external-relay,我不想记住在每个使用它的条目中更改它。

有没有办法创建一个条目继承从条目中myhost,并简单地附加LocalForward该特定隧道案例所需的指令?

答案1

你应该能够做到:

Host myhost-*
    Hostname localhost
    User me
    ServerAliveInterval 30
    ProxyCommand ssh -q external-relay /usr/bin/nc -w 90 localhost 9889

其次是:

Host myhost-1
    LocalForward ...

Host myhost-2
    RemoteForward ...
:

myhots-1并将myhost-2从中派生设置myhost-*(但不能覆盖它们)。

您一定要看一下 Characteristics 部分的开头(了解选项如何应用于连接)和 ssh_config 手册页的 PATTERNS 部分。

相关内容