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:
- start: chama um comando ou programa
- putty: programa chamado
- -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)
- -ssh: protocolo utilizado
- usuário: nome do usuário que você deseja utilizar e criou previamente
- 192.168.1.1: ip do seu servidor Linux
- -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.