Executar um shell script via browser.

1. Executar um shell script via browser.

thiago palmeira de melo
thiagokjf

(usa CentOS)

Enviado em 29/11/2012 - 13:26h

Pessoal, sou novato na area, esse é o meu primeiro tópico, preciso de uma ajuda. Tenho um script no meu server (esse script da um comando ssh em um determinado host da minha rede), porém, quero executar o mesmo via browser, através de um botão na minha página, alguem pode me ajudar?? des de já grato pela atenção.


  


2. Re: Executar um shell script via browser.

3. Re: Executar um shell script via browser.

Filippe
spolti

(usa Fedora)

Enviado em 29/11/2012 - 13:43h

o jeito muito fácil é utilizar uma página em php, java ou o que vc quiser e fazer isso. :D


4. Re: Executar um shell script via browser.

Filippe
spolti

(usa Fedora)

Enviado em 29/11/2012 - 13:43h

Ou faça o script em php e chame no browser. :D


5. Re: Executar um shell script via browser.

Paulo
paulo1205

(usa Ubuntu)

Enviado em 29/11/2012 - 14:05h

Você já tentou fazer e deu erro, ou está sondando possíveis problemas antes de testar por conta própria?

Se for o primeiro caso, o que eu recomendo (além do óbvio e essencial, que é habilitar o módulo de CGI no seu servidor web) é:

1) Não aceitar parâmetros recebidos do cliente.

2) Caso seja absolutamente necessário receber parâmetros do cliente, tratar com MUITO cuidado tais parâmetros, pois eles podem conter caracteres que tenham significado especial para o shell, para o SSH, ou mesmo para o que quer que o SSH passe por dentro de sua própria conexão, e um eventual invasor poderia usar esse canal para conseguir acesso indevido a uma das máquinas envolvidas.

3) Dependendo do que for feito na linha de comando do SSH, o comando remoto pode requerer a alocação de TTY, que provavelmente não estará disponível quando o comando for invocado pelo servidor web. O SSH permite forçar a aolcação de um TTY na ponta remota da conexão, mas isso pode funcionar ou não, dependendo do comando.


Se for o segundo caso, diga o que você tentou fazer, e o que eventualmente deu errado.


6. Re: Executar um shell script via browser.

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 29/11/2012 - 14:10h

Pode usar Script Shell como CGI.

Segue os passos:
1. crie um formulário HTML com os campos usuário e senha
<form method="POST" action="cgi-bin/script-ssh.sh">
2. crie um script shell e salve em /var/www/cgi-bin
pegue o usuário e senha no script depois $user@IP << $PASSWRD

Feito!


7. Re: Executar um shell script via browser.

thiago palmeira de melo
thiagokjf

(usa CentOS)

Enviado em 29/11/2012 - 14:22h

Amigos, obrigado pela atenção.
explicando melhor: Criei um script no me centos e quando executo ele pelo terminal ele manda um comando ssh para um router meu desabilitando uma regrinha de p2p que eu tenho. Criei esse script na intenção de colocar um botão na minha página que executasse o mesmo, ex: habilita_p2p e desabilita_p2p..
em fim, ao invés de ficar entrando no router, pela página de gerencia eu faria o procedimento..


8. Re: Executar um shell script via browser.

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 29/11/2012 - 14:43h

thiagokjf escreveu:

Amigos, obrigado pela atenção.
explicando melhor: Criei um script no me centos e quando executo ele pelo terminal ele manda um comando ssh para um router meu desabilitando uma regrinha de p2p que eu tenho. Criei esse script na intenção de colocar um botão na minha página que executasse o mesmo, ex: habilita_p2p e desabilita_p2p..
em fim, ao invés de ficar entrando no router, pela página de gerencia eu faria o procedimento..


se possível posta aqui o script para analisarmos...


9. Re: Executar um shell script via browser.

thiago palmeira de melo
thiagokjf

(usa CentOS)

Enviado em 01/12/2012 - 10:56h

saitam escreveu:

thiagokjf escreveu:

Amigos, obrigado pela atenção.
explicando melhor: Criei um script no me centos e quando executo ele pelo terminal ele manda um comando ssh para um router meu desabilitando uma regrinha de p2p que eu tenho. Criei esse script na intenção de colocar um botão na minha página que executasse o mesmo, ex: habilita_p2p e desabilita_p2p..
em fim, ao invés de ficar entrando no router, pela página de gerencia eu faria o procedimento..


se possível posta aqui o script para analisarmos...


#!/bin/sh
#

CMD="/ip firewall mangle enable [find comment=P2P];"

ssh -T -p 6234 bloq@172.25.1.1 "$CMD"

OBS: O script funciona perfeitamente, porém, não consigo criar um botão no brawser que execute o script!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts