and*_*s-h 15 ssh regular-expression
在工作中,我经常需要登录遵循通用命名方案的主机,例如qc01- qc12、hc01-hc10等。所有这些都需要在我的笔记本电脑的.ssh/config. 当然,我可以使用主机qc*和条目hc*,但我想知道是否可以使用正则表达式?
Pat*_*ryk 12
正如gelraen所说,默认ssh_config不支持正则表达式,但你可以尝试不同的东西:
您可以在ssh_config.
IMO 很难阅读和理解相关文档。我之所以理解它,是因为我有 13 年以上的 Linux 经验和 8 年以上的ssh. 所以这是我对文档的总结:
man ssh_config 描述了一个名为 Matchexec让你使用任意的 shell 命令来确定匹配TOKENS在我的情况下,我最终在我的~/.ssh/config:
Match exec "echo %h | grep -q 'NAME[0-9]\+$'"
User USER
IdentityFile /path/to/identity/file
Hostname %h.fully.qualified.domain.name
Run Code Online (Sandbox Code Playgroud)
测试必须用像这样棘手的东西来完成。要进行测试,您可以调用ssh -vvv HOSTNAME. 这将准确显示正在发生的事情,以及您的新Match功能是否正确实施。