Configuração do cliente
$ ssh morimoto@192.168.0.2 Ao invés de usar a arroba, você pode também especificar o login usando o parâmetro "-l" (de login), como em: $ ssh -l morimoto 192.168.0.2 Você pode também acessar o servidor usando o nome ou domínio, como em: $ ssh morimoto@web.kurumin.com.br Caso você omita o nome do usuário, o SSH presume que você quer acessar usando o mesmo nome de usuário que está usando na máquina local. Se você está logado como "tux", ele tentará fazer login usando uma conta "tux" no servidor remoto. Naturalmente, só funciona caso você use o mesmo login em ambas as máquinas. Ao acessar micros dentro da rede local, você pode também chamá-los pelo nome, como em "ssh morimoto@servidor". Neste caso, você precisará primeiro editar o arquivo /etc/hosts (no cliente), incluindo os números de IP das máquinas e os nomes correspondentes. O formato deste arquivo é bem simples, basta fornecer o IP e o nome da máquina correspondente, um por linha, como em:
127.0.0.1
localhost - Verificação do servidor: Como parte das verificações de segurança, o SSH utiliza também um sistema baseado em chaves assimétricas para verificar a identidade do servidor. O servidor tem uma chave pública, que envia ao cliente na primeira conexão. As identificações de todos os servidores conhecidos ficam armazenadas no arquivo ".ssh/known_hosts" dentro do seu diretório home. Sempre que você se conecta daí em diante, o cliente SSH envia um "desafio" ao servidor, uma frase encriptada usando a chave pública, que só pode ser descoberta usando a chave privada. Isso previne um tipo de ataque muito comum chamado "man in the middle" (que poderia ser traduzido para "intermediário", ou "impostor"), em que alguém simplesmente substitui o servidor por outra máquina, usando o mesmo IP, ou sabota o servidor DNS da rede (ou do provedor) de forma que ele entregue um IP forjado quando você tenta acessar seu servidor baseado no domínio. O servidor falso pode ser configurado para gravar sua senha e responder com uma mensagem do tipo "O servidor está em manutenção, tente novamente daqui a algumas horas". Dessa forma, ele vai ter não apenas acesso à sua senha, mas tempo para usá-la para acessar o servidor verdadeiro sem que você desconfie. Por sorte, o SSH percebe que a identificação do servidor mudou e lhe avisa do problema:
Para continuar é preciso que você edite manualmente o arquivo ".ssh/known_hosts", dentro do home e remova a linha com a antiga identificação do servidor, deixando as demais. Da próxima vez que tentar se conectar, o SSH exibe uma mensagem mais simpática, perguntando se você quer adicionar a nova chave:
The
authenticity of host '192.168.1.200 (192.168.1.200)' can't be
established. Não existe forma de fazer com que o cliente SSH adicione as novas chaves automaticamente, isso seria uma brecha de segurança. É sempre preciso primeiro remover a chave antiga no arquivo "~/known_hosts" manualmente. As chaves são geradas durante a instalação do SSH e salvas nos arquivos "/etc/ssh/ssh_host_rsa_key" e "/etc/ssh/ssh_host_dsa_key" (no servidor). Para não disparar o alarme nos clientes quando precisar reinstalar o servidor, salve os dois arquivos em um pendrive e restaure-os depois da instalação. Você pode fazer isso mesmo ao migrar para outra distribuição, pois as localizações dos dois arquivos não mudam. Uma opção, seria desabilitar a checagem das chaves, adicionando a linha "StrictHostKeyChecking no" na configuração dos clientes. Contudo, isso não é recomendável, pois desabilita completamente a checagem, abrindo brechas para ataques. - Compressão: No caso de servidores acessíveis via internet, você pode reduzir um pouco o consumo de banda ativando a compressão de dados via gzip, o que é feito adicionado a linha: Compression = yes Você pode também ativar a compressão adicionando a opção "-p" na hora de se conectar. Quase todas as opções do cliente SSH podem ser especificadas tanto no arquivo, quanto via linha de comando. - Aplicativos gráficos: Além de oferecer acesso via linha de comando, o SSH permite rodar aplicativos gráficos remotamente (X11 forwarding). Algumas distribuições, como o Slackware, trazem o recurso desabilitado por padrão. Nestes casos, edite o arquivo "/etc/ssh/ssh_config" (a configuração do cliente) e substitua a linha "ForwardX11 no" por: ForwardX11 yes Outra opção é adicionar o parâmetro "-X" ao se conectar, como em "ssh -X tux@192.168.0.1". A partir daí, você pode chamar os aplicativos gráficos normalmente, como se estivesse num terminal local. O maior problema com o uso de aplicativos remotos via SSH é que ele só funciona satisfatoriamente via rede local. Via internet os aplicativos gráficos ficam realmente muito lentos (mesmo em uma conexão de 1 ou 2 megabits), pois o protocolo do X é otimizado para uso local, com uso intensivo de pacotes de retorno e sem nenhum tipo de cache. Isso faz com que muitos administradores desabilitem o X11 forwarding no próprio servidor. Para rodar aplicativos gráficos de forma segura via internet, a melhor solução é usar o FreeNX (que veremos em detalhes mais adiante). Ele é um sistema de acesso remoto baseado no SSH, que utiliza um protocolo bastante otimizado. Nele você tem um desktop completo (similar ao VNC), mas com um desempenho muito superior, mesmo em conexões via modem. - Keep Alive: Concluindo a configuração do cliente, outro problema comum é a conexão ser fechada pelo servidor depois de alguns minutos de inatividade. Em muitas situações você quer manter a conexão aberta por longos períodos, sem precisar ficar dando um "ls" a cada dois minutos para manter a conexão aberta. Você pode evitar o problema fazendo com que o próprio cliente mande pacotes periodicamente a fim de manter a conexão aberta. Para ativar isso, adicione a linha abaixo no "/etc/ssh/ssh_config": ServerAliveInterval 120 Este é um exemplo de arquivo "/etc/ssh/ssh_config" configurado com as opções que vimos até aqui (excluindo os comentários):
ForwardX11
yes
» Próximo: Configuração do servidor Você está lendo o livro Redes e Servidores Linux 2ed. (publicado em 2006). Se se está em busca de um livro atualizado sobre servidores, leia o Servidores Linux, Guia Prático, que oferece informações atualizadas:
Autor: Carlos E. Morimoto
Páginas: 736 Formato: 23 x 16 cm Editora: GDH Press e Sul Editores ISBN: 978-85-99593-13-4 Lançado em: Agosto de 2008 » R$ 76,00 + frete (Preço nas livrarias: R$ 96) » Compre o seu Descrição: O livro Redes e Servidores Linux - Guia Prático foi nosso primeiro best-seller, vendendo um total de 8.000 exemplares em suas duas edições. O processo de atualização do livro acabou dando origem a dois livros separados. O primeiro deles é o livro Redes - Guia Prático, que aborda detalhes sobre a implantação e configuração de redes, abordando detalhes sobre os padrões de rede, configuração no Windows e Linux, configuração de redes wireless e outros temas. O livro Servidores Linux, Guia Prático é o segundo livro da série, que complementa o primeiro, oferecendo uma visão aprofundada sobre a configuração de servidores Linux. No livro você aprenderá a configurar tanto servidores de rede local quanto servidores dedicados, incluindo a configuração do Squid, Samba, Apache, SSH, LTSP, Postfix, Iptables, Bind, Quota e outros serviços. O livro inclui também capítulos sobre virtualização e sobre hardware para servidores, que complementam as informações abordadas nos demais. Veja também nossos livros Hardware, o Guia Definitivo, Redes, Guia Prático, Smartphones, Guia Prático e Linux, Guia Prático, nossos outros lançamentos. |
|