ssh wildcards de configuração para evitar digitar o nome de usuário

12

Eu freqüentemente ssh em instâncias de openstack. Todas as instâncias estão em uma vlan e sub-rede dedicadas (10.2.x.x). Todas as instâncias têm o mesmo nome de usuário (bob)

Eu me conecto assim:

ssh [email protected]

ou às vezes assim

ssh 10.2.x.x -l bob

É possível configurar o meu laptop para usar automaticamente o nome bob quando eu ssh em qualquer vm na sub-rede 10.2.xx? Eu não quero usar automaticamente bob quando sshing em uma máquina em qualquer outra sub-rede.

Parece que ssh config não suporte a curingas. (Corrija-me se eu estiver enganado). Eu estou pensando talvez um alias poderia fazer isso, mas não tenho certeza qual seria a sintaxe.

    
por spuder 26.08.2013 / 19:01

1 resposta

17

A página do manual ssh_config tem uma seção PATTERNS , que detalha como você pode fazer isso, você pode usar curingas de * e ? . No meu ~/.ssh/config :

Host 172.16.*.*
   User drav

e, em seguida, ao emitir ssh -vvv 172.16.13.1 :

debug1: Reading configuration data /home/drav/.ssh/config
debug1: /home/drav/.ssh/config line 4: Applying options for 172.16.*.*
debug1: /home/drav/.ssh/config line 46: Applying options for *

Observe que essas correspondências são canônicas, portanto, se "fred.mynetwork.com" no DNS for 172.16.13.1, a emissão de ssh fred.mynetwork.com não corresponderá à entrada Host 172.16.*.* . No entanto, você sempre pode adicionar uma entrada adicional Host *.mynetwork.com para aplicar as mesmas opções quando um nome DNS for usado.

    
por 26.08.2013 / 19:14