Pular para o conteúdo

Executar um script remotamente via ssh

Dica publicada em PHP / Rede
Gustavo Hendrigo Marcon hendrigo
Hits: 23.099 Categoria: PHP Subcategoria: Rede
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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]
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Comandos úteis no Linux

Site para montar regras de iptables

Comos usuários leigos podem configurar seu proxy autenticado

Resolvendo problema de NO_PUBKEY no Debian 4 para o Xenserver 5

Se o LAMP (Linux, Apache, MySQL e PHP) não funcionar no Debian

Servidor Apache 2 no Ubuntu 14.04 - Erro 404 [Resolvido]

[Resolvido] Monitoramento CACTI com SPINE

Liberando acesso ao Moodle para a rede externa

js-bwm: monitorando seu link de internet em tempo real

#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

Entre na sua conta para comentar.