VSI - Valente Soluções em Informática

Desenvolvido com:

SSH sem senha

Avalie este item
(0 votos)

Acessar uma máquina via SSH e sem senha, é uma das coisas mais úteis quando se tem que lidar com vários servidores ao mesmo tempo, principalmente para quem precisa fazer copias de arquivos entre eles.

Para se utilizar desta facilidade, basta ter instalado o ssh-keygen, para gerar a chave da maquina. Para esta geração pode se utilizar dois tipos de criptografias, sendo elas, rsa e dsa.

 

O que é RSA?
RSA é um algoritmo de criptografia de dados, que deve o seu nome a três professores do Instituto MIT (fundadores da atual empresa RSA Data Security, Inc.), Ronald Rivest, Adi Shamir e Leonard Adleman, que inventaram este algoritmo — até a data (2008), a mais bem sucedida implementação de sistemas de chaves assimétricas, e fundamenta-se em teorias clássicas dos números. É considerado dos mais seguros, já que mandou por terra todas as tentativas de quebrá-lo. Foi também o primeiro algoritmo a possibilitar criptografia e assinatura digital, e uma das grandes inovações em criptografia de chave pública.
Fonte:http://pt.wikipedia.org/wiki/RSA

 

O que é DSA?
DSA é o acrônimo de Padrão de Assinatura Digital (Digital Signature Standart), criado pelo NIST, e especifica o DSA para assinatura digital e SHA-1 para hashing. O DSA é um algoritmo assimétrico e a chave privada opera sobre o hash da mensagem SHA-1. Para verificar a assinatura um pedaço do código calcula o hash e outro pedaço usa a chave pública para decifrar a assinatura, e por fim ambos comparam os resultados garantindo a autoria da mensagem. O DSA trabalha com chaves de 512 à 1024 bits, porém ao contrário do RSA que é multipropósito, o DSA somente assina e não garante confidencialidade. Outro ponto contra o DSA é que a geração da assinatura é mais rápida do que o RSA, porém de 10 a 40 vezes mais lenta para conferir a assinatura.

 

Como funciona o ssh-keygen?

O ssh-keygen, gera as chaves publicas e privadas, para que a partir delas se possa acessar o servidor. Que no nosso caso ocorrerá sem a digitação da senha, mas essa utilização de chaves, fica como uma dica, para melhorar a segurança de acesso ao servidor, obviamente, se utilizando com senha.

 

Mãos na massa

Abra seu terminal, chama sua vó, e toda a família para assistir.

 

Gerando as chaves

Fica ao seu critério qual criptografia utilizar, por isso fiz a explicação das duas. Já que você ta com sua família ai, faça uma votação, para decidir, qual a melhor. Após a votação, siga o tutorial, utilizarei o rsa, se for utiliza dsa, basta trocar onde tem rsa, por dsa.

 

Faça login no terminal, com o usuário, que você quer acessar o servidor sem a senha. Pois a chave é específica ao usuário.

ssh-keygen -t rsa

Você vai ter a seguinte resposta:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/USUARIO/.ssh/id_rsa):

Escolha a pasta da qual deseja salvar a chave. Se ta com preguiça apenas confirma.E receberá outra mensagem. Esse passo é muito importante.

$ Enter passphrase (empty for no passphrase):

Como você leu acima, Entre com a palavra passe (a senha). Como queremos acessar sem senha, apenas, confirme(aperta enter, pede ajuda a tua vó!) sem digitar nada.Ele vai pedir confirmação, aperte “enter” novamente. A confirmação:

$ Enter same passphrase again:

Pronto, criou a chave!

$ Your identification has been saved in /home/USUARIO/.ssh/id_rsa.
$ Your public key has been saved in /home/USUARIO/.ssh/id_rsa.pub.
$ The key fingerprint is...

Ele gera um bocado de carácter bonitinho, que não convêm colocar neste post. Tudo criado, agora vamos colocar a chave pública, no servidor, ao qual queremos acessar sem senha.

 

Colocando a chave pública no servidor destino!

Existem algumas formas diferentes de fazer esse passo, inclusive encontrei uma muito interessante ao escrever esse post. Vou descrever duas, uma simples, e outra mais simples ainda.

 

Forma simples

O que deve ser feito é colocar o conteúdo da chave pública(id_rsa.pub) no servidor, especificamente no arquivo, authorized_keys, tambem no usúario do servidor, ao qual teremos acesso.

Vamos supor que o nome do usuário seja nome, no servidor dominio.com.br

Primeiro vamos copiar a chave pública para o servidor

$ scp /home/USUARIO/.ssh/id_rsa.pub O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 :/home/USUARIO/

Digite sua senha, a sua penúltima vez a digita-la. E depois acesse o servidor, e coloque a chave pública no authorized_keys

$ ssh O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 
$ cat /home/USUARIO/id_rsa.pub >> /home/USUARIO/.ssh/authorized_keys

Pronto! Teste agora o acesso ssh, que já não haverá mais necessidade de senha.

 

Forma super simples

Essa forma eu encontrei escrevendo esse post. Existe uma facilidade que é o ssh-copy-id, que com apenas um comando, ele já insere a chave pública no servidor destino.

$ ssh-copy-id -i /home/USUARIO/.ssh/id_rsa.pub O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 

Acessando o ssh sem senha

Agora basta acessar, que não haverá mais a necessidade de senha. Divirtam-se!

$ ssh O endereço de e-mail address está sendo protegido de spambots. Você precisa ativar o JavaScript enabled para vê-lo.
 

Fonte: Vinícius Muniz Macêdo

Lido 20204 vezes

Boletim de notícias

Para melhorar a comunicação com nossos amigos e clientes, lançamos o Boletim Informativo.

Assine nosso Boletim e fique por dentro das últimas novidades e tendências na área de TI.

Últimos tweets

Facebook