Ao criar uma chave SSH na sua máquina local, recomenda-se adicionar também um comentário no final para identificar a chave SSH no futuro.
1. Abre o terminal SSH do seu computador e copia/cola o seguinte comando:
ssh-keygen -t rsa -b 4096 -C "seu comentario aqui"
2. Será solicitado o nome do arquivo/localização da chave RSA. Você pode simplesmente apertar a tecla ENTER para deixar o nome padrão ('id_rsa') e a localização que aparecer, ex: (/home/user/.ssh/). Se você deseja nomear o arquivo para poder distinguir entre várias chaves para vários servidores diferentes, você pode inserir por exemplo: /home/user/.ssh/servidor01 onde você substitui o caminho para o arquivo com o caminho real do seu computador.
3. Em seguida, será solicitado uma senha. Essa senha protegerá a chave privada, para que ninguém possa acessar o servidor, mesmo que tenha acesso ao seu computador. Você pode configurar a senha (recomendado) ou clicar a tecla ENTER duas vezes (2x) para continuar e evitar inserir a senha todas as vezes que tentar aceder o servidor.
NOTA: Por padrão, este comando criará uma chave pública e uma chave privada denominadas id_rsa.pub e id_rsa, respectivamente, e elas serão salvas no caminho ~/.ssh/. O arquivo id_rsa.pub é a chave pública que o servidor precisa para autenticar o usuário e o arquivo id_rsa é a sua chave privada à qual ninguém deve ter acesso, excepto você, especialmente se você pular a etapa de configuração de uma senha.
4. Teste o login com a chave SSH do seu computador local.
- Copie o endereço IP do servidor virtual
- No terminal SSH do seu computador local, inicie o login. Substitua xxx.xxx.xxx.xxx pelo endereço IP do seu servidor criado
ssh root@xxx.xxx.xxx.xxx
- Será solicitado a opção para adicionar a impressão digital ao known_host, digite SIM
- Sera solicitado a senha caso tenha sido definida ao criar a chave SSH
- É tudo. O processo foi bem-sucedido se você vir a mensagem de boas-vindas do servidor
Adicione uma chave SSH a um servidor já criado
- Copie o conteúdo do seu arquivo de chave pública usando cat /home/user/.ssh/id_rsa.pub
selecionando a saída e usando <ctrl>+<shift>+c
- Entre no seu servidor usando <ctrl>+<shift>+c
- Escreva a chave SSH para o servidor:
Para o usuário root digite o comando: echo "keyfile_content" >> /root/.ssh/authorized_keys
Para qualquer outro usuário digite o comando: echo "keyfile_content" >> /home/usuario/.ssh/authorized_keys
- Substitua keyfile_content por <ctrl>+<shift>+v para inseri-lo entre as 2 aspas
- Substitua o usuário pelo nome de usuário
- Abra a configuração ssh usando um editor de texto nano /etc/ssh/sshd_config
. Você pode substituir o nano pelo editor de sua escolha, se instalado, ex: vi.
- Encontre uma linha com PermitRootLogin
e substitua-a exatamente por PermitRootLogin prohibit-password
se desejar desabilitar o login com senha. Isso desativará a capacidade de usar senhas inseguras e aceitará apenas as suas chaves SSH.
- Execute systemctl restart sshd
para recarregar o seu deamon SSH e ativar as novas configurações
- Saia da sessão SSH e tente acessá-la sem uma senha. Se você especificou uma senha para proteger a sua chave privada local, ainda precisará inserir a senha.