我有两套服务器。试生产。所有服务器都有内部IP。目前我使用别名登录:
Host pro-10
Hostname 192.168.1.10
ProxyCommand ssh production-server nc %h %p
Run Code Online (Sandbox Code Playgroud)
对于每台服务器,我都需要重复此规则。我正在寻找这样做的常规表达方式?
Host pro-*
Hostname 192.168.1.$1
ProxyCommand ssh production-server nc %h %p
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
Ulr*_*gel 15
不,ssh 不支持正则表达式,ssh_config (1)
并且您提供的示例不是正则表达式。ssh_config (1)
支持PATTERNS
,即您可以为您的 IP 定义一个模式,即:
Host 192.168.1.*
ProxyCommand ssh production-server nc %h %p
Run Code Online (Sandbox Code Playgroud)
并且您应该能够转发所有内部 IP。另一种解决方案是/etc/hosts
为特定 IP添加条目,即:
192.168.1.10 pro10
192.168.1.11 pro11
Run Code Online (Sandbox Code Playgroud)
并在您的~/.ssh/config
文件中创建一个条目:
Host pro1?
ProxyCommand ssh production-server nc %h %p
Run Code Online (Sandbox Code Playgroud)