Como escolher aleatoriamente um dos vários nomes de host sob um alias (~ / .ssh / config)

2

É possível fazer com que o ssh escolha um endereço IP aleatório (usando um caractere curinga) para se conectar? Temos 30 computadores com endereços IP de "asd 1 .asd.asd.asd.com" para "asd 30 .asd.asd.asd.com", e i deseja conectar-se a um deles (selecionado aleatoriamente) usando o alias xxxx. Existe uma maneira simples de fazer isso usando o arquivo ~ / .ssh / config?

Eu tentei usar este curinga:

Host xxxx
Hostname asd[0-30].asd.asd.asd.com
User my_username

Mas isso não funciona. Alguma ideia? É mesmo possível?

    
por waran 03.03.2016 / 21:56

2 respostas

3

Se você realmente precisasse, poderia fazer algo assim:

Host xxxx
     User my_username
     ProxyCommand nc asd$((1+$((RANDOM %% 30)))).asd.asd.asd.com 22

Isso pressupõe que você esteja usando o shell bash - caso contrário, você pode colocar o comando proxy como argumento para uma invocação bash, por exemplo,

     ProxyCommand /bin/bash -c "exec nc asd$((1+$((RANDOM %% 30)))).asd.asd.asd.com 22"
    
por 03.03.2016 / 22:27
1

Eu não acho que o próprio ssh possa fazer isso.

Você pode fazer isso com o dns se você atribuir todos os números IP a um nome de host em alguma zona que você controla.

Outra opção é escrever um wrapper simples (por exemplo, em Python) que chame ssh com um endereço selecionado aleatoriamente.

    
por 03.03.2016 / 22:10

Tags