说,我~/.ssh/config
有一些线:
Host machine1
User user
HostName machine1
ProxyCommand ssh server nc %h %p 2> /dev/null
这可以正常工作,但问题是我有很多machines
:machine1, machine2, machine3, ...
所以如何在不手动复制相同类型的行的情况下设置所有这些
说,我~/.ssh/config
有一些线:
Host machine1
User user
HostName machine1
ProxyCommand ssh server nc %h %p 2> /dev/null
这可以正常工作,但问题是我有很多machines
:machine1, machine2, machine3, ...
所以如何在不手动复制相同类型的行的情况下设置所有这些
你可以这样做:
您只需要列出该
Host
行中的主机,用空格分隔,HostName
如果它与您在该行中提供的名称没有不同,则可以省略Host
。请参阅ssh config · U&L 中的多个类似条目。为了进一步简化它,有通配符
*
并?
具有它们通常的含义,因此Host machine?
对于您的示例来说都是可能的。如果您的主机名符合某种模式,您可以使用 SSH 的模式:
您可以在
~/.ssh/config
. 来自man ssh_config
:因此,如果您想代理 中的所有内容
*.example.com
,那么在您的中~/.ssh/config
,输入:或者,使用
ssh
自己的选项,您可以避免使用 netcat:来自
man ssh
:是的,主机名是多余的。