Não é possível alterar o par de chaves atribuído na instância amazon ec2

4

Não consigo encontrar a opção de atribuir um par de chaves recém-criado a uma instância amazon ec2 depois de excluir o par de chaves original. Eu queria "negar" o primeiro par de chaves do acesso à instância, o que eu acho que consegui, no entanto, não consigo reatribuir a instância com outro par de chaves.

    
por Oh Chin Boon 13.09.2011 / 17:34

3 respostas

9

Quando você especifica um par de chaves na execução de uma instância, a maioria das AMIs públicas copia a chave ssh pública desse par de chaves em um arquivo .ssh/authorized_keys no diretório inicial da conta de usuário principal. Isso só é feito na primeira inicialização.

A conta do usuário varia dependendo da distribuição do Linux e do editor da AMI. Algumas contas de usuário comuns incluem root , ec2-user e ubuntu , portanto, o arquivo padrão pode ser um dos seguintes:

/root/.ssh/authorized_keys
/home/ec2-user/.ssh/authorized_keys
/home/ubuntu/.ssh/authorized_keys

Observação: O comportamento descrito acima não é aplicado pelo EC2, mas é simplesmente um padrão de fato implementado pelas AMIs públicas mais populares.

Se você quiser evitar que o par de chaves inicial tenha acesso a uma instância em execução, simplesmente edite o arquivo .ssh/authorized_keys , remova essa entrada de chave ssh pública e adicione a chave ssh pública que deseja acessar.

Este é o gerenciamento padrão de chaves ssh, não específico do EC2. Esta é a chave para a segurança do seu servidor, por isso é importante entender o que você está fazendo. Leia no ssh para ter certeza de fazer isso com segurança.

Atenção! Certifique-se de testar o ssh com a nova chave em um terminal separado antes de finalizar sua sessão ssh existente que foi usada para editar o arquivo! Se você quebrar o arquivo authorized_keys , corre o risco de não conseguir se conectar à instância.

Certifique-se de adicionar a chave pública ssh ao arquivo authorized_keys , e não à chave privada ssh! Se você salvou sua chave ssh privada para, digamos, KEYPAIR.pem , então aqui está um comando que gerará a chave pública correspondente:

ssh-keygen -y -f KEYPAIR.pem

Se o acima parecer complicado demais para você, então não há problema em iniciar uma nova instância com um novo par de chaves especificado. Você deve sempre ter um procedimento para poder iniciar as instâncias de substituição de qualquer maneira, pois a instância existente pode falhar a qualquer momento.

Em um tópico relacionado, recomendo usar suas próprias chaves ssh em vez de ter a Amazon gerar keypairs para você. Isso facilita as coisas ao redor. Aqui está um artigo que escrevi sobre o assunto:

Uploading Personal ssh Keys to Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys

    
por 13.09.2011 / 22:57
1

Não acredito que exista uma maneira de atribuir um novo par de chaves a uma instância, mas você poderia criar uma imagem da AMI a partir da instância atual e criar uma instância da nova AMI, atribuindo-lhe a nova chave. par em cima da criação. Quando a nova instância estiver em execução, pare / termine a instância antiga.

A nova instância terá um endereço IP diferente da instância antiga. Se isso for um problema, você pode querer atribuir um IP elástico à instância antiga e, quando estiver pronto, atribuir novamente o IP elástico à nova instância.

Entendo que a Amazon apenas insere a chave pública de seu par de chaves em uma instância após a criação de uma nova instância.

    
por 13.09.2011 / 21:59
1

A segunda opção é substituir um par de chaves perdido em uma instância do EC2, desde que seja uma instância com suporte do EBS. O link a seguir pode ajudar:

substituir o par de chaves perdidas

    
por 20.04.2015 / 16:37