2012-07-17 11 views
14

Tengo un montón de máquinas en mi subred 10.10.10.x, todas están configuradas esencialmente de la misma manera. Los distingo de las máquinas en mi subred 10.10.11.x que tiene un propósito diferente.ssh-config por subred de host

Me gustaría poder escribir 'ssh 10.x' para conectarme a las máquinas de la 10. red y 'ssh 11.x' para conectarme a las máquinas de la red 11.

Sé que puedo máquinas individuales de configuración para permitir el acceso a la IP completa, o la versión abreviada como este en mi ~/.ssh/config:

Host 10.10.10.11 10.11 
HostName 10.10.10.11 
User root 

Esto puede ser bastante repetitiva para un montón de anfitriones en mi red, por lo que mi pregunta es, ¿hay una forma de especificar esto como un patrón, para toda la subred, algo así como:

Host 10.10.10.x 
User root 

Host 10.x 
HostName 10.10.10.x 
User root 

Gracias

Respuesta

14

esta línea proporcionará la funcionalidad deseada:

Host 192.168.1.* 
IdentityFile KeyFile 

Si intenta conectar un servidor cuya IP se encuentra en esta subred, usted será capaz de establecer una conexión SSH.

+0

Esto funciona básicamente como yo quiero, pero ¿hay alguna manera de acceder a la parte '*', por ejemplo mi caso de uso anterior de querer mapear cierto rango en un HostName por patrón? – jdeuce

+0

Tuve que usar 'Host 192.168.1.?' en cambio en OS X –

12

Desde la página de manual:

Un patrón consta de cero o más caracteres que no sean espacios en blanco, '*' (un comodín que coincide con cero o más caracteres) o '?' (Un comodín que coincide exactamente con un carácter). Por ejemplo, para especificar un conjunto de Decla- raciones para cualquier huésped en el conjunto “.es” de los dominios, la siguiente Pat- golondrina de mar se podría utilizar:

 Host *.co.uk 

The following pattern would match any host in the 192.168.0.[0-9] network 
range: 

     Host 192.168.0.? 

A pattern-list is a comma-separated list of patterns. Patterns within 
pattern-lists may be negated by preceding them with an exclamation mark 
(‘!’). For example, to allow a key to be used from anywhere within an 
organisation except from the “dialup” pool, the following entry (in 
authorized_keys) could be used: 

     from="!*.dialup.example.com,*.example.com" 

lo que sólo puede utilizar host 10.*

Cuestiones relacionadas