Executar um script remotamente via ssh

Publicado por Gustavo Hendrigo Marcon em 14/05/2008

[ Hits: 22.437 ]

 


Executar um script remotamente via ssh



Em um servidor proxy autenticado eu estava precisando fazer que através de uma página em PHP pudesse bloquear e desbloquear o acesso a internet nos laboratórios de informática de onde trabalho.

Tenho um servidor web em outra máquina e para que não fosse preciso instalar o apache no servidor proxy, fiz uma página de controle no servidor web executando um shell script no servidor proxy.

Primeiramente fiz o servidor web autenticar via ssh sem senha no servidor proxy. Usei este artigo:
Você tem que fazer isso com o usuário que está executando o apache. Se quiser alterar o usuário que executa o apache faça o seguinte:

# vim /etc/apache2/apache2.conf

Altere as linhas:

#User www-data
#Group www-data

Para:

User [usuário]
Group [grupo_do_usuário]

Cuidado com as permissões, após isso suas páginas web neste servidor terão que ser alteradas para este usuário.

Na página de controle PHP, o comando para execução remota é:

<?php
shell_exec('/ssh user@ip.do.servidor.proxy "sh /home/user/laboratorios/bloqueia.sh"');
e
shell_exec('/ssh user@ip.do.servidor.proxy "sh /home/user/laboratorios/desbloqueia.sh"');
?>

Usei GNU/Linux Debian 4.0.

Outras dicas deste autor

Comandos úteis no Linux

Resolvendo problema de NO_PUBKEY no Debian 4 para o Xenserver 5

Site para montar regras de iptables

Comos usuários leigos podem configurar seu proxy autenticado

Leitura recomendada

Liberando acesso ao Moodle para a rede externa

php-meter: Medidor que mostra o consumo de banda no link de internet

[Resolvido] Monitoramento CACTI com SPINE

Exportando lista de MSN

Envio de SMS pelo PHP

  

Comentários
[1] Comentário enviado por mvenzi em 04/12/2008 - 16:02h

gostei mas aqui no meu trabalho os usuários tem senha.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts