Introdução ao Ssh
Upcoming SlideShare
Loading in...5
×
 

Introdução ao Ssh

on

  • 895 views

 

Statistics

Views

Total Views
895
Views on SlideShare
895
Embed Views
0

Actions

Likes
0
Downloads
15
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introdução ao Ssh Introdução ao Ssh Document Transcript

  • http://olinux.uol.com.br/artigos/372/print_preview.html Introdução ao SSH Por: André Casteliano ( 23/08/2001 ) Introdução Olá pessoal, neste artigo irei tratar sobre o SSH (Secure Shell), uma fantástica ferramenta de administração remota, demonstrando através de exemplos práticos como ele pode substituir não só outras ferramentas de administração remota como telnet, rlogin , rsh, etc como também serviços como, por exemplo, o FTP. Tudo isto com a certeza de quem está conectando na outra ponta e criptografia dos dados. O que é SSH? Esta ferramenta foi originalmente desenvolvida pela empresa finlandesa de mesmo nome ( http://www.ssh.fi ), e surgiu como uma maneira de suprir as deficiências não só do telnet mas como também do rlogin (Remote Login) e do rsh (Remote Shell). Com o tempo acabou transformando-se na ferramenta padrão para a administração de sistemas no mundo UNIX, substituindo totalmente o telnet, tanto que o nome ``SSH'' é usado hoje não só para designar o programa e a empresa que o criou como também suas variantes e clones. A grande vantagem do SSH está em encriptar os dados que são transmitidos durante a sessão e provavelmente ninguém gosta da idéia de ter suas informações transitando pela rede totalmente abertas, principalmente senhas. Além disso, é possível com o SSH agregar outros serviços como, por exemplo, o SCP (Secure Copy) que substitui com tranquilidade e até com mais praticidade o bom e velho FTP. Cliente SSH Existem diversos clientes disponíveis, desde o original da SSH, que é um produto comercial com versões para várias plataformas e sistemas operacionais, até versões gratuitas. Neste artigo, estarei demonstrando a utilização do OpenSSH (que é originário do projeto OpenBSD ), que é uma versão adaptada do SSH de livre distribuição desenvolvido por Tatu Ylonen mas com a inclusão de novos recursos e outros algoritmos de encriptação que não o RSA e DES, como o Blowfish. Caso você possua um outro cliente SSH, saiba que os comandos e a utilização são praticamente idênticos, logo se você já possui uma outra versão não fique preocupado. Em virtude da política de exportação de software de criptografia nos EUA, as versões internacionais, distribuições originárias de lá, não podem conter o SSH, ficando com o usuário a tarefa de instalá-lo. No caso das distribuições baseadas em RPM utilize o serviço RPM Find , para as baseadas na Debian acrescente a linha deb http://non-us.debian.org/debian- non-US stable/non-US main contrib non-free em /etc/apt/source.list e para quem usa Slackware pegue o pacote em http://www.linux-mafia.org . Para distribuições empacotadas fora dos EUA não existe este problema. Para quem vai compilá-lo, vale a pena lembrar que o OpenSSH necessita do OpenSSL (a página é: http://www.openssl.org ). E que não se esqueça de pegar o código fonte já com os patches para Linux (existem diferenças na parte de rede dos BSD e do Linux). E caso você queira utilizar um cliente SSH a partir de uma estação Windows(TM), para administrar suas estações, saiba que existem clientes SSH para Windows, como o PuTTY, o TeraTERM ou o SecureTTY, confira nas páginas de download por outros programas e maiores informações. Preparando o servidor O pacote do SSH traz tanto o cliente como o servidor, o SSHD (ou SSH Dæmon). No caso de uma instalação a partir de pacotes RPM ou DEB um script estilo System V (ou seja, funciona com os parâmetros start, stop, restart, etc...) será criado no respectivo diretório /etc/(...)init.d. No caso do Slackware, que trabalha com inicialização estilo BSD, o script /etc/rc.inet2 irá procurar pelo dæmon nos diretórios /sbin, /usr/sbin ou /usr/local/sbin. 1 de 3 06-12-2009 12:47
  • http://olinux.uol.com.br/artigos/372/print_preview.html Caso sua a instalação, por algum motivo, não esteja carregando automaticamente o SSHD durante a inicialização verifique se não há algum problema com as permissões dos arquivos, e se persistindo o problema inclua-o no manualmente no rc.local ou no final do rcS (no caso da Debian). Utilizando o SSH Após instalar o SSH, vamos utilizá-lo. Para quem está usando o SSH pela primeira vez é interessante criar o par de chaves públicas e privadas para a sua estação. Isto é feito pelo comando ssh-keygen , basta executá-lo. Será criado o par de chaves RSA que serão gravadas, por padrão, em seu diretório HOME. Este procedimemto não é obrigatório mas pode facilitar bastante a sua vida. Para testar se tanto o cliente quanto o servidor estão funcionando corretamente tente conectar-se em sua própria estação usando ssh localhost . Usar o SSH é bastante simples, bastando incluir o nome (ou endereço IP) da máquina que se deseja usar. Quando da primeira conexão em uma determinada estação, ele perguntará se deseja adicioná-la à sua lista de hosts conhecidos (.ssh/know_hosts). E geralmente o SSH irá tentar se conectar na estação remota usando a mesma conta que você está usando no servidor local, para contornar esse problema, use o parâmetro -l ou então usuário@host para especificar quem você deseja usar na conexão remota. Secure Copy Pelo que foi mostrado até agora é bastante fácil substituir o telnet pelo SSH na tarefa de administração de suas estações. Porém, o SSH permite que você utilize outros serviços usando a conexão segura. O exemplo mais conhecido é o scp (Secure Copy) que permite a transferência de arquivos entre estações. Supondo que você queira enviar um arquivo local para o seu servidor: scp [arquivo_local] [usuario@servidor remoto]:[nome do arquivo no servidor remoto] Ou supondo que você queira na sua máquina um arquivo que está no servidor: scp usuario@servidor_remoto:arquivo usuario@sua_maquina:arquivo Para maiores detalhes sobre a utilização do SCP consulte sua respectiva página de manual (man scp). X11 Forward Outro serviço interessante que pode ser usado junto com o SSH, é o X11 Forwarding. Como todos sabem (ou deveriam saber) o X/Window é bem mais do que uma interface gráfica, é um protocolo de comunicação cliente/servidor que se utiliza do TCP/IP. Graças a isto, o cliente (a aplicação que você está usando) e o servidor (quem está colocando as janelas na tela) podem tranquilamente estar em computadores diferentes. Assim como no Telnet, o uso do X11 Forwarding dentro de uma sessão SSH garante a encriptação daquilo que está indo de um lado ao outro da rede. Para usar você precisa antes habilitar o acesso da estação remota em seu X/Window local usando xhost +{nome ou IP da estação remota} . Aí, conectar-se e redirecionar a saída dos programas mudando a variável do sistema DISPLAY para sua estação com export DISPLAY=(nome ou IP da estação local):(n) , sendo "n" a sessão do X que você pretende usar (geralmente este valor é 0). Aumentando a segurança do SSH Não basta encriptação, muitas vezes é bom ser um pouco mais paranóico. No arquivo sshd_config você pode configurar alguns parâmetros que podem te deixar mais garantidos quanto a quem e de onde você pode ser 2 de 3 06-12-2009 12:47
  • http://olinux.uol.com.br/artigos/372/print_preview.html acessado. Dentre os parâmetros os que podem realmente restringir o acesso são: PermitRootLogin Use : "Yes" ou "No" para habilitar o login como root AllowHosts : A relação de estações que podem se conectar, use o endereço IP ou então o nome da máquina. DenyHosts : A relação das estações que não podem se conectar AllowUsers : Aqueles que podem se logar na estação DenyUsers : Aqueles que, por motivos que não vamos discutir agora, não podem se logar Após estas alterações você vai precisar reinicializar o dæmon, isto pode ser feito usando o script que está no init.d com ssh restart ou então com killall -HUP sshd . Conclusão Bom pessoal, espero que tenham gostado. Com o que foi apresentado aqui, já é possível acessar remotamente uma outra estação, copiar arquivos e até usar programas de X/Window sem se preocupar com o que gente curiosa possa estar vendo. Estarei à disposição para tirar eventuais dúvidas. Abraços! Colaborou: Giovanni Nunes Copyright (C) 1999-2000 Linux Solutions 3 de 3 06-12-2009 12:47