unix – 在SSH Config Hostname中仅使用模式的一部分

我有一个类似下面的SSH配置,适用于:

ssh b21
ssh 23
ssh s267

示例.ssh / config(传递的主机名在%h处插入):

host s*
    HostName atrcu%h.example.com
    User example
    Port 22
host b*
    HostName atrcx%h.example.com
    User example
    Port 22
host ??*
    HostName atvts%h.example.com
    User example
    Port 2205

但我想在主机中包含用户名:

ssh b21ex

这将ssh:

example@atvts21.example.com

但相反会:

atvts21ex.example.com

他们是否有任何方式来切换/修改%h,因为它已经通过,并且可能连接匹配更多模式以获得用户名?

我认为你必须为每个可能的缩写匹配创建单独的HostName / User条目.然后,您可以使用%r访问每个用户的单独标识文件.这将允许您跳过使用user @ host进行登录,但代价是创建更复杂的配置文件.

你可能会更好地写一个脚本或shell别名来解开你的缩写并将它们交给ssh准备好了.

相关文章
相关标签/搜索