ssh_config 中一台主机的多个名称

ssh_config 中一台主机的多个名称

我有一个允许 ssh 登录的托管帐户。我的主机上有几个网站,每个网站都有自己的 ssh 登录名,因此我登录为:-

ssh [email protected]
ssh [email protected]
ssh [email protected]

我希望在 ssh_config 中做的事情是这样的:-

Host websitename anothersite yetanothersite
    Hostname myhost.co.uk
    User %h

但这不起作用,因为 %h 在用户行中没有替换。

有谁知道我如何实现我想要的,在 ssh 之后仅输入站点名称(嗯,实际上只是站点名称的前 8 个字母)并得到结果“ssh”[电子邮件受保护]'?

答案1

您可以使用多个Host指令,如下所示:

Host websitename anothersite yetanothersite
    Hostname myhost.co.uk

Host websitename
    User websitename 

Host anothersite
    User anothersite 

Host yetanothersite
    User yetanothersite

实现你想要的。

这并不完美,因为您必须多次重复主机名/用户名,但据我所知,您可以使用ssh_config.

或者考虑使用 shell 级别名,如下所示:

>alias websitename="ssh [email protected]"
>websitename

甚至是一个函数:

>wssh() { ssh [email protected] }
>wssh anothersite

相关内容