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


12

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

Eu me conecto assim:

ssh bob@10.2.x.x

ou às vezes assim

ssh 10.2.x.x -l bob

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

Parece que a configuração do ssh não suporta caracteres curinga. (Corrija-me se eu estiver errada). Estou pensando que talvez um alias possa fazer isso, mas não tenho certeza de qual seria a sintaxe.

Respostas:


18

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

Host 172.16.*.*
   User drav

e depois emitindo 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 ssh fred.mynetwork.comnão corresponderá à Host 172.16.*.*entrada. Você sempre pode, no entanto, adicionar uma Host *.mynetwork.comentrada adicional para aplicar as mesmas opções quando um nome DNS é usado.


Sim, uma entrada Host 10.2*irá fazer o truque
Bananguin

Eu descobri que 10.2. *. * Fez com que minha chave fosse rejeitada. Mudar para 10.2. * Fez com que a conexão fosse bem-sucedida.
Spuder

1
Estranho, para mim o xx *. * Funciona: / Pelo menos, há seu comentário se as pessoas encontrarem problemas!
Drav Sloan
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.