A AMI do CentOS, por padrão vem com acesso SSH para o usuário root. De acordo com as boas práticas, é recomendado desabilitar o acesso SSH via usuário root, criar uma conta de usuário normal e habilitar o uso do comando sudo quando for requerido privilégios de root.
Neste documento, descrevo como substituir o usuário root por um outro usuário. Vou criar um usuário e grupo com nome ‘centos’, pode ser qualquer nome que desejar.
1. Criar o grupo centos
# groupadd -g 500 centos
2. Criar o usuário centos
# useradd -u 500 centos -g centos
3. Adicionar o usuário centos no arquivo /etc/sudoers
# visudo centos ALL=(ALL) NOPASSWD: ALL
4. Criar o diretório .ssh no diretório home do usuário centos
# mkdir /home/centos/.ssh
5. Copiar o arquivo /root/.ssh/authorized_keys para o diretório acima criado
# cp /root/.ssh/authorized_keys /home/centos/.ssh/authorized_keys
6. Alterar as permissões do diretório e arquivos criados para o usuário centos
# chown -R centos. /home/centos
7. Teste o acesso com o novo usuário e garanta que esteja funcionando conforme esperado. Efetue o login e execute o comando sudo
$ ssh -i ~/.ssh/sua_chave_ssh.pem centos@<endereco_instancia>
8. Após vadidado o acesso com o novo usuário, remova o arquivo /root/.ssh/authorized_keys
$ sudo rm /root/.ssh/authorized_key