O poder do SSH

Neste artigo pretendo mostrar o quanto o SSH pode ser útil e o quanto podemos produzir com os recursos que ele oferece, que vão desde um backup automático até a execução de um simples comando e a criação de uma chave pública para acesso sem senha. Há também exemplos com código-fonte de scripts que fazem a mesma tarefa, mas de modo automático.

[ Hits: 84.361 ]

Por: Djair Dutra C. Jr. em 23/06/2007


Iniciando



Para quem ainda não conhece, (resumidamente) o ssh lhe permite executar comandos remotos em um computador como se você estivesse usando-o localmente. No computador que será acessado devemos instalar um servidor de ssh, ou seja, um programa que recebe conexões de outros computadores.

Nos outros computadores você deve ter um programa de cliente ssh, ou seja, um programa que vai controlar o computador remoto.

A vantagem sobre segurança do ssh sobre outras opções, como o telnet, é grande porque o ssh criptografa os dados transmitidos.

Neste artigo mostrarei algumas opções úteis com o ssh e o resto das suas utilizações fica por conta da sua imaginação.

Executando comandos remotamente sem assumir a máquina

É possível executar comandos e fazer várias coisas por ssh sem precisar assumir literalmente a máquina servidor. Pode parecer complicado, mas com um exemplo acho que fica melhor.

Imagine uma situação em que é necessário pegar nome de todos os arquivos da pasta pessoal de um cliente. A opção que você deve ter pensado é entrar no servidor por ssh, ir até a pasta do cliente e digitar o comando ls. Está correto! Pelo menos em partes...

Imagine que este cliente possui mais de 1000 arquivos e você precisa passar o resultado para uma planilha e criar uma saída "apresentável" para apresentar ao chefe. Entrar por ssh, executar o comando e copiar os nomes um por um está descartado.

Entrar por ssh, executar o comando e jogar o resultado num arquivo texto e depois enviar para o meu computador (por scp ou ftp) talvez seja uma boa idéia, mas a melhor é simplesmente colocar o comando remoto entre aspas logo após as linhas do comando ssh e depois alterar a saída para um arquivo texto. Difícil? Que nada, veja como é mole:

$ ssh 200.251.75.114 "du -ah /home/djair/*" > resultado.txt

Obviamente o servidor ssh pedirá a senha, mas ele não será aberto para você. Ele executará o resultado do comando que está entre aspas e a melhor coisa nisso tudo é que o resultado pode ser jogado num arquivo no seu próprio computador.

No caso acima joguei no arquivo resultado.txt. Um trabalho que levaria um tempão ou uma mão de obra grande, foi resumido em uma só linha.

    Próxima página

Páginas do artigo
   1. Iniciando
   2. Login automático por ssh (sem senha)
   3. Criando backups em servidores remotos
   4. Segurança
Outros artigos deste autor

O que ainda falta pra você abandonar o Windows de vez?

Layer7 e compilação do kernel mole-mole com Conectiva 10

Autenticação de sites com PHP e MySQL

Por que eu pago por 10 megas, mas só faço download a 1 mega?

Personalizando o Ubuntu 9.04 com Screenlets

Leitura recomendada

Experiência de migração para software livre

LiveCDs versus D.Q.R.E.Cs

Montando um workstation de desenvolvimento web em GNU/Linux

VIM avançado (parte 2)

Wake-on-LAN (WOL) utilizando Netcat - Dissecando o protocolo

  
Comentários
[1] Comentário enviado por Gleidison em 23/06/2007 - 12:10h

bao tarde amigo. não sei muita coisa me linuz. mas acabe ide alugar um servidor dedicado e não saco como gerenciar ele eu gostaria de uma ajuda tipo. como eu faço os backps automaticos de todos os meusclientes e no com eu restauro ou instalo algoi assim. tipo gerenciar o servidor pelo monos o basico se tever como vc me passar ficarei muito grato.

[2] Comentário enviado por malacker em 24/06/2007 - 11:04h

Quanto aos backups, há inúmeras possibilidades de acordo com o tipo de dados que você tem, bem como o tamanho dos bds.
Se seu bd for MySql tem um tipo de backup. Se for em simples arquivos texto, tem outro tipo e por aí vai.
Quanto a instalar, desinstalar ou atualizar alguma coisa, vai depender muito tb do seu tipo de distribuição.
Para criar os backups, sem dúvida vc deverá usar o comando crontab. Para "zipar" os arquivos vc deverá usar o comando tar. Para integrar todas as tarefas, você deverá integrar tudo através de um script. Como vc diz não ter muito conhecimento de linux, lhe aconselho buscar informações básicas antes de entrar direto em backups, transferências, compactação, etc.

[3] Comentário enviado por calaff2 em 25/06/2007 - 11:28h

bala!! Viva o linux!

[4] Comentário enviado por ederalves em 25/06/2007 - 18:13h

ai vc e o cará sou teu fá.rsrsr

[5] Comentário enviado por rklein em 26/11/2007 - 11:28h

Para seu script funcionar e nescessario liberar o login por root neh ??
e tbm e nescessario colocar a senha de usuario !!! como faço pra aceitar so a chave de criptografia ???

[6] Comentário enviado por alanskate em 16/02/2010 - 14:22h

muito bom, precisei usar isso hoje no trabalho :)

[7] Comentário enviado por cvasconcelosb em 28/05/2010 - 10:11h

Bom dia Djair Dutra,

EXCELENTE artigo, principlamente no tópico referente ao "Login automático por ssh (sem senha)".

Parabéns


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts