SSH 配置替换

标签 ssh

是否可以在 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"
}

使用 sshscprsync 并传递其他参数来支持所有情况需要更多的注意。

关于SSH 配置替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33444349/

相关文章:

linux - 解析来自 expect 命令的信息

windows - Windows : git@github. com 上的 Git clone 不是 git 命令

linux - 在 Docker 容器中运行 sshd

python - Python 中的 SSH 动态端口转发 ('ssh -D')

linux - 在 1000 台远程服务器上执行多个命令?

python - 在 headless Ubuntu 14.04 服务器上使用 matplotlib

ssh - 有关bash-alias的SSH生产率问题:SSH登录后如何在命令(屏幕-x)中排队?

ssh - 期望脚本读取空行

linux - 如何创建基于 key 的 ssh 用户?

ssh - 通过ssh从gitlab进行git克隆会导致 "Permission denied (publickey)"