Executa o serviço personalizado remotamente no Linux

0

No lado do servidor: (@ip por exemplo 10.0.0.3)

Considere este script simples chamado script.sh : ( /home/user/script.sh )

#!/bin/bash
echo good

Vamos criar um novo serviço chamado script.sh sob xinetd para executar o script acima: ( /etc/xinetd.d/script.sh )

service script.sh                       # Name from /etc/services;
{
        server = /home/user/script.sh          # The service executable
        server_args = ANY_ARGS_HERE        # Any arguments; omit if none
        user = USER                        # Run the service as this user
        socket_type = TYPE                 # stream, dgram, raw, or seqpacket
        wait = nO                      # yes = single-threaded, no = multithreaded
}

Então, vamos adicionar este serviço a /etc/services :

script.sh    3376/tcp 

Finalmente reiniciando o xinetd: service xinetd restart

No lado do cliente:

Agora, quero executar script.sh remotamente usando script.sh service localizado no servidor. pode ser algo assim: script.sh 10.0.0.3 3376/tcp

Aí vem minha pergunta:

quais são as configurações a serem feitas no lado do cliente para executar esse script no servidor e obter resultados no cliente?

    
por MCHAppy 31.03.2015 / 23:24

1 resposta

1

Você se conecta à porta que definiu em /etc/services e /etc/xinetd . Portanto, qualquer um desses comandos pode funcionar para você, supondo que 10.0.0.3 seja o servidor remoto hospedando o script.sh service:

nc 10.0.0.3 3376
telnet 10.0.0.3 3376

Se você estiver executando um firewall no servidor remoto, será necessário fazer um furo para as sessões de entrada no 3376 / tcp. Sem saber qual firewall você está executando, não é sensato oferecer uma solução para isso. (Se você quiser atualizar sua pergunta, então eu ou outra pessoa pode oferecer uma correção.)

    
por 31.03.2015 / 23:51