É possível criar mais de uma chave privada para SSH em uma instância do EC2? Qual é a melhor prática geral para isso? Temos vários usuários que precisam fazer o SSH nos servidores e distribuir uma chave simplesmente não funciona bem. Isso não nos permite remover os usuários do SSH no servidor, a menos que alteremos a chave e redistribamos.
amazon-ec2
amazon-web-services
imaginativo
fonte
fonte
Respostas:
Absolutamente; basta colocar todas as chaves públicas relevantes na imagem e você deve estar certo. Eu prefiro usar um sistema de gerenciamento de configuração para gerenciar chaves SSH; dessa forma, é bastante trivial revogar o acesso de um usuário, mesmo em sistemas em execução. Também há muito mais ... digamos "imaginativas" ... maneiras de lidar com isso, como armazenar todas as suas chaves SSH no LDAP, que centralizam as chaves SSH como qualquer outra credencial.
fonte
Você também pode usar mecanismos ssh padrão. A melhor abordagem seria se o usuário executasse em sua máquina
ssh-keygen
para gerar seu par de chaves. Em seguida, eles enviam você~/.ssh/id_rsa.pub
(ou id_dsa.pub, dependendo do algoritmo escolhido) e você adiciona seu conteúdo ao.ssh/authorized_keys
host de destino no diretório inicial da conta de usuário que ele deve acessar. Pode haver mais de uma chave no arquivo. Um por linha. E isso é tudo! A mesma chave pública (id_rsa.pub) pode ser usada em qualquer número de hosts - ela sempre identificará o usuário.Você também pode fazer o contrário - você executa o ssh-keygen e publica ~ / .ssh / id_rsa (ou id_dsa) no usuário. E o usuário salva o arquivo em ~ / .ssh / id_rsa. Apenas lembre-se de alterar as permissões para 600 (-rw -------) desse arquivo, caso contrário, o ssh não o aceitará. Isso é obviamente menos seguro, pois a chave privada está sendo distribuída por email provavelmente.
Também pode ser feito no PuTTY com o PuTTYgen.
fonte
Uma maneira mais simples é como mostrado abaixo.
Para usuários Linux / Mac:
Para criar chaves públicas e privadas, use o seguinte comando:
$ ssh-keygen -t rsa -b 4096
Faça o upload da chave pública para uma pasta no seu bucket S3. Por exemplo: S3> MyBucket> Keypair
Salve e proteja sua chave privada.
Para usuários do Windows:
As etapas a seguir são importantes durante o lançamento de qualquer AMI do Linux.
Verifique se a função IAM possui uma função criada com a política AmazonS3FullAccess. Isso permite que a instância assuma uma função para acessar os buckets S3. Isso é necessário para ler as chaves públicas do S3 e copiá-las para o perfil do usuário
Adicione o seguinte código na seção de dados do usuário em Detalhes da instância de configuração> Detalhes avançados (como texto):
Essa configuração cria o Usuário1 e o Usuário2 e os adiciona aos usuários do sudo . O comando aws s3 cp copia as chaves públicas dos usuários da pasta S3 para as deles
.ssh/authorized_keys path
. A última seção é executar comandos como administrador sem precisar de senhas.Existem muitas melhorias de segurança que podem ser recomendadas aqui. Embora não seja explicitamente usado neste exemplo, limitar o acesso do bucket do S3 a um bucket específico e conhecer as implicações de segurança da desativação do uso de senhas no sudo, são algumas coisas que podem ser destacadas. Use-os com sabedoria, com base em suas necessidades particulares.
fonte