Como adiciono novas contas de usuário com acesso do SSH a instâncias do Amazon EC2 do Linux?

Última atualização: 2021-08-05

Quero adicionar novas contas de usuário que possam se conectar à minha instância Linux do Amazon Elastic Compute Cloud (Amazon EC2) via SSH. Como faço isso?

Descrição breve

Todas as instâncias Linux do Amazon EC2 são executadas com uma conta de usuário padrão do sistema com acesso administrativo à instância. Se vários usuários precisarem de acesso à instância, uma prática recomendada de segurança é usar contas separadas para cada usuário.

Você pode agilizar essas etapas usando cloud-init e os dados do usuário. Para obter mais informações, consulte Como adicionar novas contas de usuário com acesso SSH à minha instância do EC2 usando dados do usuário e cloud-init?

Resolução

Criar um par de chaves para a nova conta de usuário

Adicionar um novo usuário à instância Linux do EC2

1.    Conecte-se à sua instância Linux via SSH.

2.    Use o comando adduser para adicionar uma nova conta de usuário a uma instância do EC2 (substitua new_user pelo nome da nova conta). O exemplo a seguir cria um grupo associado, “home directory” (diretório inicial), e uma entrada no arquivo /etc/passwd da instância.

$ sudo adduser new_user

O diretório inicial pode não ser criado por padrão em algumas configurações. Verifique se o diretório inicial foi criado antes de continuar.

Observação: se você adicionar new_user a uma instância Ubuntu, inclua a opção --disabled-password para evitar adicionar uma senha à nova conta:

$ sudo adduser new_user --disabled-password

3.    Altere o contexto de segurança para a conta new_user, para que as pastas e os arquivos criados tenham as permissões corretas:

$ sudo su - new_user

Observação: quando você executa o comando sudo su - new_user, o nome na parte superior do prompt do shell de comando muda para refletir o novo contexto da conta de usuário da sua sessão shell.

4.    Crie um diretório .ssh no diretório inicial new_user:

$ mkdir .ssh

5.    Use o comando chmod para alterar as permissões do diretório .ssh para 700. Alterar as permissões restringe o acesso, de forma que somente new_user possa ler, gravar ou abrir o diretório .ssh.

$ chmod 700 .ssh

6.    Use o comando touch para criar o arquivo authorized_keys no diretório .ssh:

$ touch .ssh/authorized_keys

7.    Use o comando chmod para alterar as permissões do arquivo .ssh/authorized_keys para 600. Alterar as permissões do arquivo restringe o acesso de leitura ou gravação a new_user.

$ chmod 600 .ssh/authorized_keys

Recuperar a chave pública do seu par de chaves

Verificar a impressão digital do seu par de chaves

Depois de importar sua própria chave pública ou recuperar a chave pública do seu par de chaves, siga as etapas em Verificar a impressão digital do seu par de chaves.

Atualizar e verificar as novas credenciais da conta de usuário

Depois de recuperar a chave pública, confirme se você tem permissão para adicionar a chave pública ao arquivo .ssh/authorized_keys para essa conta:

1.    Execute o comando Linux cat no modo de anexação:

$ cat >> .ssh/authorized_keys

2.    Cole a chave pública no arquivo .ssh/authorized_keys e pressione Enter.

Observação: para a maioria das interfaces de linha de comando do Linux, a combinação de teclas Ctrl+Shift+V cola o conteúdo da área de transferência na janela da linha de comando. Para a interface de linha de comando PuTTY, clique com o botão direito do mouse para colar o conteúdo da área de transferência na janela da linha de comando PuTTY.

3.    Pressione e segure Ctrl+D para sair de cat e retornar ao prompt de sessão da linha de comando.

Verificar se o novo usuário pode usar SSH para se conectar à instância do EC2

1.    Execute o seguinte comando em um prompt de linha de comando no computador local:

$ ssh -i /path/new_key_pair.pem new_user@public_dns_name_of_EC2_Linux_instance

Para se conectar à sua instância Linux do EC2 usando SSH no Windows, siga as etapas em Conectar-se à sua instância Linux a partir do Windows usando o PuTTY.

Observação: se você receber erros ao tentar se conectar, consulte Solucionar problemas de conexão com a sua instância.

2.    Execute o comando id na linha de comando da instância para exibir as informações de usuários e grupos criadas para a conta new_user:

$ id

O comando id retorna informações semelhantes às seguintes:

uid=1004(new_user) gid=1004(new_user) groups=1004(new_user)

3.    Distribua o arquivo de chave privada para o novo usuário.


Este artigo ajudou?


Precisa de mais ajuda?