Executar comandos ou scripts no Linux via Windows, sem intervenção do usuário

Publicado por Fernando Cesar Vaini em 10/12/2009

[ Hits: 27.768 ]

 


Executar comandos ou scripts no Linux via Windows, sem intervenção do usuário



Baseado em uma experiência recente que tive, resolvi escrever essa dica. Acredito que os mais experientes "tiram de letra", mas os novos podem precisar, assim como eu precisei, e não saber como fazer. Recorri a alguns fóruns e juntando um pouco daqui e um pouco de lá, cá está esta dica.

Vou citar porque precisei da dica:

Um cliente tem um servidor Linux rodando SAMBA. Todas as pastas compartilhadas ficam armazenadas em um HD removível. O dono da empresa queria todos os dias levar o danado do HD embora, para não correr o risco de perder suas preciosas informações. Isso seria extremamente fácil, porque com um simples "umount" ele poderia retirar seu HD sem maiores prejuízos. Bem dito, seria fácil; se ele tivesse algum conhecimento em Linux (ou pelo menos se tivesse interesse em aprender). Caímos no problema em questão. Como executar o comando no Linux, a partir do terminal Windows, sem que o usuário digite absolutamente nada...

Primeira parte: fazer um SSH automático

Como no meu caso, estou supondo que você fará isso num terminal Windows.

1) Primeiro baixe o Putty no link abaixo e salve-o num diretório de sua preferência:

http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

2) Crie um arquivo com extensão .bat no mesmo diretório que você salvou o putty.exe.

3) Insira o seguinte conteúdo neste arquivo, e depois, claro, salve-o:

start putty -P 5922 -ssh usuario@192.168.1.1 -pw sua_senha

Explicando o comando:
  1. start: chama um comando ou programa
  2. putty: programa chamado
  3. -P 5922: especifica a porta do ssh que você usou no Linux (caso você tenha mantido a porta padrão 22, não é preciso especificar este parâmetro)
  4. -ssh: protocolo utilizado
  5. usuário: nome do usuário que você deseja utilizar e criou previamente
  6. 192.168.1.1: ip do seu servidor Linux
  7. -pw sua_senha: substitua "sua_senha" por sua senha criada no Linux

Este é o arquivo que deverá ser executado. Se quiser tornar mais fácil para o usuário, crie um atalho para ele no desktop.

Segunda parte: programando os comandos automáticos no Linux

Dentro da pasta do usuário, geralmente /home/usuário, existe um arquivo oculto chamado profile, é neste arquivo que iremos incluir os comandos que serão executados ao logar no ssh.

vi /home/usuário/.profile

No final do arquivo, inclua os comandos ou scripts que deseja executar.

Segue exemplo abaixo:

### .profile ###
if [ -n "$BASH_VERSION" ]; then
   if [ -f "$HOME/.bashrc" ]; then
      . "$HOME/.bashrc"
   fi
fi

if [ -d "$HOME/bin" ] ; then
   PATH="$HOME/bin:$PATH"
fi

umount /media/removivel;
exit;

Note que no final do arquivo foram incluídas as linhas que executam o comando de desmontagem do HD e o comando de saída do console ssh. Não se esqueça de colocar ponto-e-vírgula (;) no final de cada linha que você incluir.

Com isso o usuário Windows, que não quer entender nada de Linux, poderá executar o script quando quiser a partir do seu console Windows.

E é isso, espero que ajude alguém.

Outras dicas deste autor

Resolvendo problemas de autenticação do smb_auth lendo proxyauth

Liberando o Windows Live Messenger 2009 no Squid (completo)

Leitura recomendada

Suportar mais endereços na tabela arp

Conky: Caracteres estranhos ao invés de cedilha e símbolo de grau?

Convertendo pacotes RPM em DEB

Aterm transparente

Compiz no Acer Aspire One

  

Comentários
[1] Comentário enviado por jeferson_roseira em 10/12/2009 - 15:45h

otima dica ja esta nos favoritos

Jeferson Roseira

[2] Comentário enviado por albfneto em 11/12/2009 - 00:56h

Taí , aprendendo... eu pensava que só Unix tinha .profile, Linux não.

[3] Comentário enviado por condtec em 25/08/2016 - 19:05h

Parabéns!! Estes dias estou conhecendo o mundo linux, estou montando um servidor apenas para aprender mais! e esse program putty é top mas funcionou algumas vezes depois deu erro, agora com esse script de em .bat funcionou perfeitamente!! estava dando erro: putty "connection timed out" agora com o login e senha ele ja entra logado!!! nao sei se vai parar novamente mas deu certinho!!! ahahah parabens por compartilhar!! valeu!!

[4] Comentário enviado por stanleyqs em 28/09/2018 - 09:47h

Cara muito obrigado pela dica ajudou muito TKS MONSTRO!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts