SSH na máquina com IP desconhecido

2

Estarei ajudando a configurar várias máquinas (> 50) distribuídas geograficamente e por diferentes redes. Assim, a priori, não serei capaz de saber qual é o endereço IP de cada uma das máquinas. Eu poderei adicionar qualquer software às máquinas antes que elas sejam implementadas. O principal é que eu preciso ser capaz de ssh em cada um deles para atualizá-los de tempos em tempos depois de terem sido implantados.

Existe um pacote de software que me ajude a reunir todas essas máquinas? Existe uma maneira de eu configurar algo que lhes permita "telefonar para casa" de vez em quando e rastrear seus endereços IP? Existe uma palavra em que eu possa usar o Google para ajudar a resolver esse problema?

    
por Scoop 05.10.2012 / 05:56

4 respostas

3

Este é exatamente o tipo de coisa em que o DNS é bom e os endereços IP não. Se você tiver cada um dos hosts configurados para ter um nome de host individual e para fazer uma atualização dinâmica de DNS para um servidor central toda vez que ele se conectar à rede, você sempre poderá ssh para (por exemplo) server43.dynamic.example.com .

Como você pode ver no exemplo acima, se você fizer isso, eu recomendaria delegar uma subzona para esses hosts dinâmicos, para evitar que alguém contamine seu DNS principal.

Editar: primeiro, você escolhe seu domínio. Vamos supor que você possa obter um subdomínio fora do seu corporativo principal, digamos sub.example.com .

Então você obtém alguns servidores DNS; dois é um bom número. Talvez você possa pegar carona em seus servidores corporativos, talvez você precise obter alguns VPSs ou alugar NS hosting de alguém com alguma pista. Você faz com que os indivíduos do DNS corporativo deleguem sub.example.com para esses servidores.

Em seguida, você configura todas as caixas de cliente para executar atualizações de DDNS nesse subdomínio para esses servidores de nomes. Você configura todos eles com segredos válidos para fazer atualizações de TSIG e configura os servidores principais para aceitar atualizações dinâmicas, mas somente quando assinados corretamente.

Quando um cliente fica on-line, digamos client33 , ele faz uma atualização de DDNS para client33.sub.example.com , conforme descrito acima. Sua caixa central de propagação pode a qualquer momento ssh para client33.sub.example.com , sabendo que o endereço estará atualizado.

    
por 05.10.2012 / 08:29
2

Você pode telefonar para uma solução de chave ssh realmente simples.

Configure um usuário técnico em cada um dos hosts remotos antes de implementá-lo.

Esses usuários têm um par de chaves (ssh-genkey), chave pública adicionada aos hosts autorizados em seu servidor doméstico. Acima de tudo, você precisa configurar um cronjob que tente fazer login uma vez por hora no servidor inicial e registrar seu endereço IP.

Que tal isso?

    
por 05.10.2012 / 07:38
1

O fantoche pode fazer o truque para você, no entanto, uma solução caseira pode incluir:

criando uma conta no seu servidor central (de preferência chroot jail'ed) e configurando uma chave SSH. Distribua a chave privada para todos os clientes e configure-os para o SSH no servidor central usando essa chave no cron:

ssh -i /home/user/.ssh/id_rsa_key_for_central_server user @ centralserver "echo hostname está em $ ipaddress > > sometracking.file"

    
por 05.10.2012 / 07:39
1

Você pode usar o túnel reverso do SSH. Um exemplo:

link

Para cada cliente, use uma porta diferente para conectar-se usando:

ssh localhost -p <client_port>
    
por 05.10.2012 / 14:14