Академический Документы
Профессиональный Документы
Культура Документы
Autor : Orientador:
Vinicius Puga de Almeida Santos Alexandre Santos de la Vega (Tutor do grupo PET-Tele) Setembro/2009
Captulo 1 Introduo
O SSH extremamente prtico para se usar aplicativos que esto instalados em seu computador, e fazer o gerenciamento remoto de um servidor e dos servios que este presta. No entanto, para utiliza-lo na obteno ou envio de arquivos, a linha de comando torna-se muitas vezes pouco prtica, especialmente quando se deseja receber ou enviar muitos arquivos. Para isso escrevi este tutorial ensinando a utilizar o SSH para enviar ou receber arquivos de uma forma extremamente facil, tentando eliminar as diculdades que muitos possuem ao se utilizar deste recurso. Esperamos que seja til! Vinicius Puga e Grupo PET-Tele
A instalao de um servidor SSH em um sistema Debian (ou semelhante a este, como o Ubuntu) simples. Basta executar o comando:
A congurao de um servidor SSH envolve a edio de seu arquivo de congurao que localizado em :
Localizao /etc/ssh/sshd_cong
Neste trabalho abordaremos apenas os aspectos de congurao do cliente, por ser destinado aos usurios do servio.
2.2
Alguns servidores SSH utilizam para a autenticao do usurio um arquivo contendo uma chave criptogrca que, espera-se, que apenas o usurio real ir possuir. Neste momento, sempre surge a pergunta: Porque no utilizar apenas uma senha?. A resposta para esta pergunta est no fato de senhas serem mais vulneraveis do que chaves criptogrcas. Senhas podem ser submetidas a ataques de dicionrio, ou capturadas por determinados programas se outros computadores forem usados no acesso ao servidor. Tomando-se os devidos cuidados, como por exemplo mantendo-se o arquivo em uma mdia separada (disquete, CD ou DVD, pendrive) e longe da internet, o nvel de segurana alcanado com a chave criptogrca muito superior ao de uma senha. O comando abaixo pode ser usado para criar uma chave criptogrca com o algoritmo RSA de tamanho igual a 1024 bits e deve ser executado no servidor que ser acessado - embora seja possvel executar o comando no computador local e enviar a chave ao servidor colocando-a em seu path (caminho) padro . recomendvel manter as opes padro, apenas pressionando
As chaves criadas sero gravadas nos arquivos /home/usuario/.ssh/id_rsa e /home/usuario/.ssh/id_rsa.pub (sendo respectivamente suas chaves privada e pblicas). muito importante que o acesso a sua chave tenha acesso restrito, isto pode ser feito alterando as permisses de acesso para 750, com o comando abaixo:
Comando chmod 750 /.ssh Funo Restringe as permisses de acesso da pasta de SSH
Em seguida, devemos copiar a chave pblica para /.ssh/authorized_keys . Este procedimento habilita sua chave recm-criada como uma chave autorizada.
Comando cp /.ssh/id_rsa.pub /.ssh/authorized_keys Funo Copia a chave para o caminho padro
Isto conclui a parte respectiva a criao da sua chave. Mantenha ela em um local seguro e jamais transmita-a pela internet. A seguir, descrito como o acesso deve ser feito (utilizando-se dela, ou no).
2.3
2.3.1
1. Abra uma janela qualquer do gerenciador de arquivos 2. No campo Localizao digite ssh://usuario@algum.servidor.com e pressione ENTER 3. Caso seja pedida uma senha, digite a senha do seu usurio e pressione ENTER. 4. Os arquivos mostrados na janela esto no servidor. As operaes de mover e copiar arquivos podem ser feitas atravs daquela janela OBS.: Caso o servidor a ser acessado necessite de uma chave criptogrca para a autenticao, a mesma dever ser colocada na pasta /home/usuario/.ssh/ com o nome de id_rsa no computador que est sendo usado.
2.3.2
1. Abra uma janela qualquer do gerenciador de arquivos 2. No campo Localizao digite sh://usuario@algum.servidor.com e pressione ENTER 3. Caso seja pedida uma senha, digite a senha do seu usurio e pressione ENTER. 4. Os arquivos mostrados na janela esto no servidor. As operaes de mover e copiar arquivos podem ser feitas atravs daquela janela
2.3.3
Estando com um terminal aberto, utilize as seguintes linhas de comando de acessar o servidor desejado: Usando o cliente de SSH Este comando deve ser usado para acessar o computador remoto como um usurio local. extremamente til para executar comandos, controlar aplicativos (com interface texto) , iniciar ou parar servios, etc.
Usando o cliente de SFTP Este comando deve ser usado preferencialmente acessar o computador remoto (servidor) via SSH como seria feito com um servidor de FTP. Sua recomendao para a transferncia (envio e recebimento) de arquivos.
Comando sftp usuario@algum.servidor.com lcd lls cd ls pwd lpwd put xxx.xx get xxx.xx exit Funo Acessa o servidor e disponibiliza um terminal para os comandos abaixo. Muda de diretrio no computador local Lista os arquivos no computador atual Muda de diretrio no computador remoto (servidor) Lista os arquivos da pasta atual no computador remoto (servidor) Mostra o diretrio atual no computador remoto (servidor) Mostra o diretrio atual no computador local Envia o arquivo xxx.xxx para a pasta atual no computador remoto Recebe o arquivo xxx.xxx para a pasta atual no computador local Termina a sesso
Usando o cliente de SCP uma ferramenta semelhante ao SFTP porm mais primitiva ao permitir apenas a transferencia de arquivos entre o servidor e o computador local.Seu uso recomendado na criao de scripts para transferncia automatizada de arquivos devido a ter uma interface mais automatizada.
2.4
O servio SSH no exclusividade de plataformas derivadas de UNIX, podendo tambm ser acessado por mquinas contendo o Microsoft Windows. Para isto, necessrio o download de softwares especcos, visto que o sistema em si no possui suporte a este servio nativamente.Ressaltam-se tambm que existem certas incompatibilidades entre as chaves criptogrcas usadas em programas diferentes. Portanto estas devem ser convertidas para um formato que o cliente SSH que ser utilizado no Windows seja capaz de compreender.
2.4.1
A utilizao do servio de SSH no Windows requer que a chave criptogrca obtida em um servidor Linux/Unix (criada pelo OpenSSH ou SSH proprietrio) seja convertida para um formato que possa ser utilizado neste sistema operacional. O procedimento abaixo descreve como esta converso pode ser feita: 1. Obtenha o programa de converso em :
http://tartarus.org/simon/putty-snapshots/x86/puttygen.exe
3. O programa ir import-la, o proximo passo converte-la e salv-la no formato-padro para Windows. Para isso clique em File Save Private key (no se esqueca de salvar com um nome diferente). 4. A chave est convertida para o formato PPK, usado pelo Cliente PuTTY e derivados. O prximo passo a escolha do cliente a ser usado.
2.4.2
O PuTTY o cliente mais antigo para acesso a servidores SSH usando o Windows. Ele fornece ao usurio um ambiente muito semelhante ao encontrado em ambientes *NIX (UNIX ou LINUX), provendo ao mesmo uma linha de comando, cuja manipulao de arquivos e servios deve ser feita conforme o cliente padro dos sistemas *NIX. Procedimento de instalao: 1. Obtenha o programa em:
http://the.earth.li/ sgtatham/putty/latest/x86/putty.exe
2. Instale-o e o abra. 3. Ao abrir o programa, selecione Session no lado esquerdo. No lado direito entre com o endereo do servidor a ser acessado em Hostname e escolha em Protocol a opo SSH. 4. No lado esquerdo, selecione Connection SSH Auth, e no lado direito no campo Private Key clique em Browse e localize a sua chave criptogrca no formato PPK 5. Clique no boto na parte de baixo Open 6. O PuTTY tentar estabelecer uma conexo com o servidor e em seguida abrir uma linha de comando, onde podem ser usados os mesmos comandos descritos acima para o cliente linux
2.4.3
O Cliente WinSCP tem uma interface semelhante ao de um programa de FTP, onde esquerda se localizam os arquivos locais e a direita os arquivos do servidor, facilitando bastante a manipulao de arquivos entre o servidor e o computador local. Em contrapartida este cliente no oferece uma linha de comando o que limita as operaes no servidor a apenas a manipulao e edio de arquivos. Procedimento de Instalao: 1. Obtenha o programa de instalao em
http://winscp.net/eng/download.php
2. Ao trmino da instalaao, abra o programa. Ser apresentado um dilogo de congurao, que deve ser preenchido conforme as opes abaixo: Host Name: Endereo_do_servidor Port number: 22 Username: usuario_remoto Password: senha,se houver Private Key File: Caminho para a chave criptogrca PPK File Protocol: SFTP
3.1
O cliente PuTTY capaz de fazer o tunelamento alterando-se certas opes em sua congurao. Procedimento de Congurao: 1. Na janela de congurao do PuTTY, entre com as opes de conexo mostradas anteriormente neste tutorial para a congurao bsica do PuTTY 2. No lado esquerdo, selecione Connection SSH Tunnels, e no lado direito marque a opo Local ports accept connections from other hosts 3. Ainda no lado direito, em Add new forwarded port, preencha o campo Source Port com um nmero maior do que 1000 (neste exemplo assumiremos a escolha da porta aleatria 1080) 4. Logo abaixo entre com o endereo do servidor SSH ao qual ser feita a conexo, e marque abaixo as opes Dynamic e Auto 5. Pressione Open. O tnel est estabelecido!
3.2
O tunelamento no Linux mais simples do que em outros sistemas operacionais. apenas necessrio executar o comando abaixo no shell:
Comando ssh -D 1080 usuario@algum.servidor.com Funo Cria um tnel SSH redirecionado pela porta 1080.
OBS.: Qualquer porta acima de 1000 pode ser especicada e no apenas a porta 1080.
3.3
Forma de uso
As aplicaes que desejarem utilizar o servio (como browsers, clientes de email, mensagens instantneas e etc) devem ser congurados para utilizarem uma conexo proxy como especicado abaixo:
Tipo de Proxy: Endereo do Proxy: Porta: Verso do SOCKS: SOCKS 127.0.0.1 1080 (ou outra que tenha sido especicada na criao do tnel) SOCKSv5