Uma coisa muito chata pra quem acessa outros computadores via SSH com frequência é ter que digitar o usuário e a senha sempre que a autenticação é realizada.
Uma alternativa para isso é o uso de par de chaves RSA.
Uma alternativa para isso é o uso de par de chaves RSA.
Um pouco sobre par de chaves
O conceito é bem simples: você gera um par de chaves. Sendo uma pública e outra privada. Tudo que a chave privada encripta somente a chave pública decripta. Tudo que a chave pública encripta somente a chave privada decripta.
A chave pública é feita para ser distribuída. É ela que você colocará no serviço que você irá conectar.
Você deve proteger a chave privada a todo o custo. Quem tiver posse dela poderá decriptar as mensagens criptografadas enviadas pela chave pública.
A chave pública é feita para ser distribuída. É ela que você colocará no serviço que você irá conectar.
Você deve proteger a chave privada a todo o custo. Quem tiver posse dela poderá decriptar as mensagens criptografadas enviadas pela chave pública.
Gerando um par de chaves
Execute:
$ ssh-keygen -t rsa
Dê <ENTER> em todas as perguntas que o ssh-keygen lhe fizer. Ele irá pedir o local de geração dos arquivos. Se você não informar ele gerará no diretório do usuário abaixo do diretório .ssh/. Ele também lhe pedirá uma frase. NÃO INFORME NADA.
Se tudo estiver certo o ssh-keygen irá gerar dois arquivos: o id_rsa no qual é a chave privade e o id_rsa.pub no qual é a chave pública. Veja:
Se tudo estiver certo o ssh-keygen irá gerar dois arquivos: o id_rsa no qual é a chave privade e o id_rsa.pub no qual é a chave pública. Veja:
$ cd ~/.ssh
$ ls -la
Configurando a chave pública no servidor:
Nossa tarefa agora é copiar a chave pública para o home do usuário no servidor. Podemos fazer isso de duas maneiras:
a. Se você tem acesso via SSH ao servidor e sabe a senha do usuário, basta executar o comando abaixo:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub cezinha@192.162.0.1
A instrução acima diz: copie o id_rsa.pub do meu computador windows, acesse via SSH o servidor 192.168.0.1, utilize o usuário “cezinha” e jogue esta cópia para o diretório .ssh localizado no home do usuário “cezinha”.
Você pode fazer todo o processo manualmente.
Envie pra dentro do servidor o arquivo id_rsa.pub. Você pode fazer isso via ftp, rede, pen drive… não importa. Jogue este arquivo dentro do diretório .ssh do usuário. Você pode criá-lo caso não exista:
$ mkdir .ssh
$ chmod 700 .ssh
$ cd ~/.ssh
Jogue o conteúdo do id_rsa.pub pra dentro do arquivo authorized_keys. É dentro deste arquivo que estão todas as chaves autorizadas para o dito usuário. Veja como:
$ cat id_rsa.pub >> authorized_keys
O arquivo id_rsa.pub pode ser deletado do servidor.
$ rm id_rsa.pub
Pronto! O processo de instalação da chave pública do servidor está ok.
Testando o serviço
Volte para a sua máquina Windows e abra o Git Bash. Lá tente acesso ao SSH do servidor:
$ ssh cezinha@192.168.0.1
Se tudo estiver certo você terá acesso ao servidor sem que o SSH peça senha.
Fonte: http://cezinha.info/2012/08/03/cliente-windows-ssh-autenticado-por-chave-rsa-no-servidor-linux/
Nenhum comentário:
Postar um comentário