como executar comandos (remoto, assíncrono, puxar)

2

Eu gostaria de executar comandos em uma máquina desktop remota, mas o SSH seria difícil, já que o controle remoto está off-line a maior parte do tempo, reside em um tom de 10 horas do meu, e pode estar por trás de um firewall / NAT um IP desconhecido. Então terá que puxar meus comandos quando puder. Estou pensando em algo próximo a curl http://.../do.sh | bash brincando.

Existem ferramentas disponíveis que suportam uma coisa dessas?

Estou procurando

  1. Algo simples e razoavelmente estável
  2. para Linux
  3. que puxa comandos com segurança de um endereço da Web, caixa de correio, etc.
  4. requer alguma forma de autorização, claro (por exemplo, não executa nada sem assinatura)
  5. que relata a saída padrão e o erro padrão e talvez o valor de saída volte para mim.

Eu poderia fornecer um servidor com HTTPS, certificados válidos, mesmo sshd , se necessário. Eu acho que sou capaz de hackear algo em teoria, mas temo que isso consuma muito tempo.

Uma pergunta semelhante foi perguntado antes, mas não foi realmente respondido (use o próprio procmail & code; use nossa poderosa ferramenta comercial por 250 $).

    
por Franc 02.04.2013 / 01:28

3 respostas

1

Não é tão bobo (a idéia do ssh), e poderia facilmente ser implementado se a) a máquina que serve ssh up estiver on-line e b) permanecer acessível pelo mesmo nome / IP em todos os momentos. Você pode facilmente escrever script ssh para autenticar sem senha para uma dada conta de usuário (daemon?), Puxar um arquivo e então agir sobre ele. Eu não acho que isso esteja na cesta muito difícil (ou muito demorada).

    
por 02.04.2013 / 01:49
0

Você também pode pensar em usar um repositório git ou svn e usar o post-hook. Por exemplo:

  1. O cliente modifica um arquivo com uma lista de comandos ou um script bash para executar
  2. Arquivo de envio modificado do cliente para o servidor remoto (servidor que está on-line na maioria das vezes - use bitbucket ou github ou qualquer git / svn provedor de serviços)
  3. O servidor quando efetuou login executa um git merge / svn update
  4. Com um git merge hook ou svn post-update hook trick

Não é tão difícil e pode ser uma maneira de lidar com o estado off-line do seu servidor.

    
por 02.04.2013 / 08:43
0

Eu vejo algo como cfengine ou puppet - eles são projetados para executar comandos em servidores remotos e registrar o resultado.

    
por 02.04.2013 / 09:52