quarta-feira, 16 de setembro de 2009

Usando ssh com ubuntu e/ou debian

Uma das coisas que você se acostuma em sistemas Unix Like é a praticidade e facilidade de uso de suas ferramentas. Neste caso é com o acesso remoto via SSH. Rápido, prático e seguro.
Podemos tanto utilizar os recursos em modo texto como também as ferramentas gráficas que as distros dispõe.
Mas uma coisa que não atentamos é que essa facilidade, dependendo de qual sabor de linux estamos acostumados, pode nos deixar a ver navios, quando por ventura, utilizamos uma distro diferente da habitual.
Algumas distros não impedem que você utilize aplicações X via SSh sem ter que fazer algumas configurações ou adicionar parâmetros nas linhas de comandos quando as invocamos.
No meu caso, a situação é mais simples.
Ex: em uma estação a distro é Mandriva e em outra também. Simples, foi só logar na estação remota via ssh e após isso, chamar qualquer aplicação gráfica diretamente no console. Um belo dia, simplesmente trocamos a distro da estação remota para Debian Lenny, e tentei novamente seguindo o mesmo caminho e voilá .... nao deu certo!!! Como sempre acontece comigo, "mudou a cor da grama, o burro morre de fome"!!
Após várias tentativas sem sucesso, vamos ler um pouco e descobrir o que deu errado!! Alteramos o arquivo /etc/sshd_config e /etc/group e pronto já foi possível fazer o mesmo que antes.

Depois de alguns dias, tentamos utilizar o Ubuntu 9.04 para acessar a estação remota (Debian Lenny) e no modo texto tranquilo, mas para aplicações gráficas, erros interessantes. Novamente quase morri de fome, pois mudou a cor da grama novamente.

Mas nesse caso foi bem mais simples, pois já sabia que o Lenny já estava funcionando adequadamente. Portanto era somente entender como o Ubuntu tratava os acessos e respostas do SSH.
Uma pesquisa rápida pelo man do SSH e algumas tentativas com erros e acertos (mais erros que acertos, hehe) no final consegui resolver e acessar as aplicações tranquilamente.
Segue abaixo a linha de comando com seus parâmetros com breves comentários.

Para acesso a estação remota usamos o seguinte comando:

ssh -l usuario -Y

O parametro -l indica usuário que vai se logar na maquina remota; caso seja omitido, o ssh assume o usuário local como o que deverá se logar remotamente, mas não havendo esse usuário na máquina remota, simples, não vai conseguir logar.
O -Y faz a chamada ao servidor X para poder exportar as aplicações. Depois de resolvido, ficou simples.

Outra dica: pode acontecer que o ssh na hora da troca de chave com a estação remota não encontre a mesma chave do hosts, reportando um possível ataque ou sniffer de rede.
Normalmente isso acontece porque foi feita uma nova instalação no host remoto, troca de chave, ou ip, ou até mesmo uma troca de distro, como no meu caso. A máquina continuou com o mesmo ip e MAC, mas a chave mudou.
Eu fiz do jeito mais fácil: simplesmente renomeei o arqivo known_hosts que fica em /home/usuario/.ssh/ e resolvido.

Há mais dicas sobre ssh em http://www.zago.eti.br/ssh/

Nenhum comentário: