SSH sem senha
Posted: segunda-feira, 26 de julho de 2010 by Wairisson Gomes in Marcadores: Linux, sistemas operacionaisO 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.