是否可以在 ssh_config 中编辑替换?我知道我可以匹配通配符,例如:
Host project*
HostName %h.domain.com
User project_user
如此使用:
ssh project000
rsync data project123:~
但更复杂的规则可能吗?如何匹配主机名别名(无需明确生成所有可能的组合)?
p -> project000.domain.com
p1 -> project001.domain.com
p123 -> project123.domain.com
以防万一:我同时使用 bash 和 zsh
最佳答案
不,这是不可能的。 OpenSSH 没有任何工具来提供这些替换。
您必须提前为 ssh_config
预先生成对,以便 ssh
使用它们。
或者您必须创建 bash 函数来为您进行替换,如下所示:
function ssh() {
ssh "project${1:1}.domain.com"
}
使用
ssh
、 scp
、 rsync
并传递其他参数来支持所有情况需要更多的注意。
关于SSH 配置替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33444349/