Neste tutorial você aprenderá como configurar chaves SSH em seu dispositivo local e usar o par de chaves gerado para se conectar a um servidor remoto. Esse método é o mais conveniente e fornece uma maneira mais segura de se conectar ao servidor/máquina do que simplesmente usar uma senha.
O que você precisa?
Antes de começar este guia, você precisará do seguinte:
- Acesso ao seu dispositivo local;
- Acesso ao dispositivo remoto;
- Um terminal adequado para conexão SSH.
Passo 1 – Gerando as chaves SSH
Você pode gerar e configurar as chaves RSA no sistema Linux / Unix usando qualquer tipo de tipo de Terminal do ambiente que seu dispositivo local possui.
Depois de entrar no Terminal, você será levado para uma janela semelhante a esta:

Aqui você pode começar a escrever comandos necessários:
A primeira coisa que você precisa fazer é gerar o par de chaves em sua máquina local. Você pode criar com este comando simples:
ssh-keygen -t rsa
Depois de inserir este comando, algumas novas perguntas aparecerão:
Insira o arquivo no qual deseja salvar a chave (/home/tautvydas/.ssh/id_rsa
):
Geralmente, recomenda-se simplesmente deixá-lo como está (pressione ENTER sem digitar nada) para que o gerador de chaves possa criar o par de chaves no local padrão (neste tutorial eu inseri um nome diferente tut_id para evitar chaves duplicadas, (o dispositivo já tinha um id_rsa chaves geradas). As duas primeiras perguntas que aparecerão:
Introduza a frase de acesso (empty for no passphrase
). Então introduza a mesma frase novamente.
Agora por razões de conveniência, eu gosto de deixar os vazios também. Dessa forma, depois de definir as teclas para cima com o seu servidor remoto, você não precisará usar qualquer tipo de senha para o login. Você simplesmente digita o comando ssh user@serverip
e ele irá fazer o login enquanto as chaves são corretamente configuradas. Mas se você precisar de mais segurança, digite uma frase-senha nesta seção. Se escolher esta opção, terá de introduzir a palavra-passe sempre que ligar ao dispositivo remoto.
Você deve ver algo assim em seu Terminal:

Sua imagem gerada será diferente da minha. Bem como a impressão digital chave.
IMPORTANTE! Existem duas chaves criadas aqui (PRIVATE e PUBLIC): tut_id e tut_id.pub (no seu caso, deve ser id_rsa e id_rsa.pub). Tome muito cuidado com o arquivo chamado id_rsa (esta é a chave PRIVATE), tenha apenas em seu dispositivo local e não dê a NINGUÉM.
Outro arquivo, id_rsa.pub deve ser carregado para sua máquina remota. Assim, por exemplo, se você e seu amigo estiverem trabalhando no mesmo projeto no mesmo servidor remoto, ambos podem colocar suas chaves públicas nesse servidor remoto. No próximo passo, vamos aprender como fazer isso.
Passo 2 – Copiando a chave pública para o servidor remoto
Depois de gerar o par de chaves RSA, temos que colocar nossa chave pública no servidor virtual remoto.
Há um comando simples que colocará sua chave pública diretamente no arquivo do authorized_keys do servidor remoto (este arquivo mantém todas as chaves públicas:
ssh-copy-id user@serverip
Aqui, em vez de serverip, você precisa digitar o endereço IP do servidor remoto e, em vez de usuário, você deve digitar o nome de usuário do servidor ao qual está se conectando.
Depois de digitar o comando, você deve ser recebido com uma mensagem de aviso semelhante a esta:
The authenticity of host 'Server's IP address' can't be established. RSA key fingerprint is ... Are you sure you want to continue connecting (yes/no)?
Digite sim na linha de comando e pressione ENTER. Esta mensagem aparece apenas na primeira vez que esta acção é executada.
Outra mensagem aparecerá:
Warning: Permanently added 'SERVER IP' (RSA) to the list of known hosts. user@serverip's password:
Aqui você deve digitar a senha do usuário remoto do servidor (na maioria dos casos o nome de usuário é root). Depois de inserir a senha, que deve ser basicamente ele. Você será saudado com outra mensagem:
Now try logging into the machine, with "ssh 'user@serverip'", and check in: ~/.ssh/authorized_keys* to make sure we haven't added extra keys that you weren't expecting.
Como a nova chave pública foi adicionada ao seu servidor remoto, agora, toda vez que você efetuar login no seu servidor remoto, você não será solicitado a fornecer uma senha (a menos que você configurar uma senha para sua chave RSA no processo de geração).
Conclusão
Neste tutorial, você aprendeu a gerar o par de chaves SSH públicas/privadas e usar essas chaves com o servidor remoto para configurar uma conexão mais segura do que simplesmente usar a senha.