SSH sem senha

Posted: segunda-feira, 26 de julho de 2010 by Wairisson Gomes in Marcadores: ,
0

O serviço de SSH permite fazer o acesso remoto ao console de sua máquina. Em outras palavras, você poderá acessar sua máquina como se estivesse conectado localmente ao seu console (substituindo o rlogin e rsh). A principal diferença com relação ao serviço telnet padrão, rlogin e rsh é que toda a comunicação entre cliente/servidor é feita de forma encriptada usando chaves públicas/privadas RSA para criptografia garantindo uma transferência segura de dados.

A velocidade do console remoto conectado via Internet é excelente (melhor que a obtida pelo telnet e serviços r*) dando a impressão de uma conexão em tempo real (mesmo em links discados de 9.600 KB/s). A compactação dos dados também pode ser ativada para elevar ainda mais a velocidade entre cliente-servidor ssh. Além do serviço de acesso remoto, o scp possibilita a transferência/recepção segura de arquivos (substituindo o rcp).

Em conexões sem criptografia (rsh, rlogin), os dados trafegam de forma desprotegida e, caso exista algum sniffer instalado em sua rota com a máquina destino, todo o que fizer poderá ser capturado (incluindo senhas).

As principais características do SSH são:

. Conexão de dados criptografada entre cliente/servidor.
. Suporte a caracteres ANSI (cores e códigos de escape especiais no console).
. Suporte a PAM.
. Cópia de arquivos usando conexão criptografada.
. Suporte a ftp criptografado (sftp).
. Suporte a compactação de dados entre cliente/servidor.
. Controle de acesso das interfaces servidas pelo servidor ssh.
. Suporte a controle de acesso tcp wrappers.
. Autenticação usando um par de chaves pública/privada RSA ou DSA.

Agora que já sabemos um pouco sobre o SSH, vamos a um exemplo prático de utilização desse recurso, porém de uma forma diferenciada, “Sem Senha”.

Passos para configurar o SSH sem senha:

Instale o pacote do ssh

#apt-get install ssh

Em seguida, devemos criar uma chave de autenticação RSA para estar apto a logar em um site remoto de sua conta sem ter de digitar sua senha. Para isso execute o seguinte comando:

#ssh-keygen -b 1024 -t rsa

Será gerada uma chave privada e uma chave pública. Com versões antigas do SSH, essas chaves ficarão armazenadas em ~/.ssh/identity e ~/.ssh/identity.pub; com versões novas, serão armazenadas em ~/.ssh/id_rsa.pub. ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub.

O comando irá solicitar também uma frase secreta.

Em seguida, adicone o conteúdo do arquivo da chave pública dentro de ~/.ssh/authorized_keys, para isso utilize o seguinte comando:

#cat ~/.ssh/id_rsa.pub > authorized_keys

Feito isso, instale a chave pública no servidor remoto que deseja se conectar copiando o arquivo “authorized_keys” através do comando:

#scp ~/.ssh/authorized_keys usuario@ip_servidor:~/.ssh/

Após realizar o procedimento descrito acima, teste o acesso ao servidor:

$ssh usuario@ip_servidor

Dessa forma, será possível que você realize o acesso remoto a seu servidor, de uma forma segura sem a necessidade de senha.

Espero que sejá útil para todos.

0 comentários: