Usando o OpenSSH
- O OpenSSH possui a opção de login via chave. Se você estiver usando Linux ou Mac e nunca criou um par de chaves, basta abrir um Terminal e digitar:
ssh-keygen -t rsa
- Pressione Enter em todas as respotas, isso criará dois arquivos ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub.
A primeira, chamamos de chave privada e nunca deve sair de seu computador, não a copie ou envie por email, não grave em dispositivos (pendrive, CD) que possa ser perdido.
O segundo arquivo chamamos de chave pública, e é essa a chave que usamos em outros computadores.
- Feito isso, copie a “chave pública” do seu computador para seu servidor Cloud com esta linha de comando:
scp ~/.ssh/id_rsa.pub root@xxx.xxx.xxx.xxx:~/
- Agora faça login no seu servidor remoto:
ssh root@xxx.xxx.xxx.xxx
- Por enquanto essas duas operações irão pedir a senha cadastrada. Uma vez dentro do seu servidor execute os seguintes comandos:
mkdir ~/.sshmv id_rsa.pub ~/.ssh/authorized_keys
- Isso é tudo que você precisa para conseguir fazer login no seu servidor via autenticação de chaves RSA.
Para garantir a segurança, ainda precisamos configurar o OpenSSH para não aceitar mais login via senha.
- Para isso, ainda dentro do servidor, vamos usar o Vim para editar o arquivo de configuração, assim:
vim /etc/ssh/ssh_config
- Localize a palavra “PasswordAuthentication” aproximadamente na linha 25. Ela estará comentada, descomente (se não conhece Vim, basta posicionar o cursor em cima do caracter “#” e apertar a letra “x”) e mude de “yes” para “no”:
PasswordAuthentication no
- Para editar, primeiro digite a letra “i“, agora edite normalmente;
- Quando terminar aperte a tecla “ESC” e digite “:wq!” e finalmente “enter”. Agora, precisamos reiniciar o serviço de SSH.
Se você escolheu instalar o CentOS use esta linha de comando:
service sshd restart
Se estiver em Ubuntu, a linha é esta:
/etc/init.d/ssh restart
Usuáriois adicionais
Se quiser que mais usuários tenham acesso ao seu servidor, peça que eles também gerem pares de chave, peça a “chave pública” e adicione seu conteúdo ao arquivo ~/.ssh/authorized_keys da sua máquina. Nesse caso também tome cuidado para não apagar a sua chave pública que estará no mesmo arquivo. Para apenas adicionar uma nova chave pública nesse arquivo faça o seguinte:
cat id_rsa.pub >> ~/.ssh/authorized_keys