Alterar par de chaves para instância ec2

408

Como altero o par de chaves da minha instância ec2 no console de gerenciamento da AWS? Posso parar a instância, posso criar um novo par de chaves, mas não vejo nenhum link para modificar o par de chaves da instância.

Michael Chen
fonte
1
Segui as etapas indicadas neste vídeo e funcionou youtube.com/watch?v=OF2AOekW4IE
Jonathan Nolasco Barrientos

Respostas:

492

Esta resposta é útil no caso de você não ter mais acesso SSH ao servidor existente (ou seja, você perdeu sua chave privada).

Se você ainda tiver acesso SSH, use uma das respostas abaixo.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair

Aqui está o que eu fiz, graças à postagem no blog de Eric Hammond:

  1. Pare a instância do EC2 em execução
  2. Desanexe seu /dev/xvda1volume (vamos chamá-lo de volume A) - veja aqui
  3. Inicie a nova instância do t1.micro EC2, usando meu novo par de chaves. Certifique-se de criá-lo na mesma sub-rede , caso contrário, você precisará encerrar a instância e criá-la novamente. - veja aqui
  4. Anexe o volume A à nova micro instância, como /dev/xvdf(ou /dev/sdf)
  5. SSH para a nova micro instância e monte o volume A para /mnt/tmp

    $ sudo mount / dev / xvdf1 / mnt / tmp

  6. Copiar ~/.ssh/authorized_keyspara/mnt/tmp/home/ubuntu/.ssh/authorized_keys

  7. Sair
  8. Terminar micro instância
  9. Desconecte o volume A dele
  10. Anexe o volume A de volta à instância principal como /dev/xvda
  11. Inicie a instância principal
  12. Faça o login como antes, usando seu novo .pemarquivo

É isso aí.

yegor256
fonte
6
acabou de salvar minha bunda, você é uma lenda!
Garry Welding
8
mkdir /mnt/tmpe então mount /dev/xvdf /mnt/tmpdeve fazer o truque para o # 5. E não esqueça que a etapa 13. provavelmente está rm ~/.ssh/known_hostsnas caixas das quais você está se conectando.
brandonscript
21
Isso é tão fedorento… Antes de tudo, veja a resposta de Eric Hammond abaixo. Segundo: resposta de Pat Mcb. Eles realizam a mesma coisa, mas sem perder 1 hora do seu tempo fazendo a solução hilariante. PS. Veja também stackoverflow.com/a/24143976/547223
kgadek
3
Escrevi aqui instruções realmente específicas que se baseiam nessa resposta, mas são essencialmente a mesma idéia - gist.github.com/tamoyal/1b7ec4d3871b343d353d . Como o @kgadek observou, é um pouco sujo e demorado, mas é uma ótima opção se você estiver bloqueado no servidor em que deseja alterar a chave e se não deseja obter uma cópia desse servidor. Demora cerca de 5 a 10 minutos por instância, não uma hora.
25415 Tony
4
As respostas postadas por @Eric e @Pat são soluções para pessoas que desejam apenas usar um par de chaves diferente para suas instâncias. Isso não ajuda um usuário que de alguma forma perdeu o arquivo do par de chaves em primeiro lugar. Sem desconectar o volume e anexá-lo a outra instância, como você ganharia controle sobre esse volume? Muito menos substituindo o .ssh/authorized_keysarquivo original .
sanjeev
187

Depois que uma instância é iniciada, não há como alterar o par de chaves associado à instância em um nível de metadados, mas você pode alterar a chave ssh usada para conectar-se à instância.

Há um processo de inicialização na maioria das AMIs que baixa a chave pública ssh e a instala em um arquivo .ssh / allowed_keys, para que você possa efetuar o ssh como esse usuário usando a chave ssh privada correspondente.

Se você deseja alterar a chave ssh usada para acessar uma instância, edite o arquivo allowed_keys na própria instância e converta-a em sua nova chave pública ssh.

O arquivo allowed_keys está no subdiretório .ssh, no diretório inicial do usuário no qual você está efetuando login. Dependendo da AMI em execução, ela pode estar em uma das seguintes opções:

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

Depois de editar um arquivo allowed_keys, sempre use um terminal diferente para confirmar que você é capaz de efetuar ssh na instância antes de desconectar da sessão que está usando para editar o arquivo. Você não quer cometer um erro e se proteger completamente da instância.

Enquanto você pensa em pares de chaves ssh no EC2, recomendo fazer upload de sua própria chave pública ssh pessoal no EC2, em vez de fazer com que a Amazon gere o par de chaves para você.

Aqui está um artigo que escrevi sobre isso:

Carregamento de chaves ssh pessoais no Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys

Isso se aplicaria apenas a novas instâncias que você executa.

Eric Hammond
fonte
Eu estupidamente cometi esse erro, quero dizer, editei o arquivo allowed_keys e saí. Agora, não pode ssh volta :( Qualquer correção sugestão rápido.?
aatifh
11
aatifh: Aqui está um artigo que escrevi sobre como obter-se de que a situação: alestic.com/2011/02/ec2-fix-ebs-root
Eric Hammond
@ EricHammond Isso pode estar fora do lugar, mas você parece saber como tudo isso funciona ... Configurei uma instância do EC2 hoje e recebi o .pemarquivo de chave privada no meu Mac, mas ssh -i key.pemnão é autenticado (permissão negada (chave pública)). No console de gerenciamento do EC2, em Nome do par de chaves, ele não lista nada. Isso é alarmante para mim. Como posso definir isso? Parece baseado no Console de Gerenciamento que nenhum par de chaves que eu configurei foi atribuído à instância!
Steven Lu
1
@StevenLu: Sim, os tópicos de comentários são o lugar errado para fazer novas perguntas. Tente criar uma nova pergunta no serverfault.com (mais apropriado para esse problema do que o stackoverflow).
Eric Hammond
4
Aqui está uma pequena e agradável lista para adicionar sua chave. Isso só aumenta a sua chave normal de pub além dos AWS gerados um, por isso, se ele não funcionar, você não vai ter trancado-se fora: stackoverflow.com/a/5654728/193494
Kevin C.
78

Execute este comando depois de baixar o seu AWS pem.

ssh-keygen -f YOURKEY.pem -y

Em seguida, despeje a saída em authorized_keys.

Ou copie o arquivo pem para sua instância da AWS e execute os seguintes comandos

chmod 600 YOURKEY.pem

e depois

ssh-keygen -f YOURKEY.pem -y >> ~/.ssh/authorized_keys
Pat Mcb
fonte
14
Isso funciona apenas se você já tem acesso ao sistema, certo? (como não perdeu o arquivo .pem antigo).
Daniel
5
Você pode usar> em vez de >> para substituir o usuário atual em vez de adicioná-lo.
Adrian Lopez
Esta é a resposta correta e mais simples. Não há necessidade de reiniciar, criar novas instâncias ou montar unidades. Basta obter o arquivo .pem, keygen-lo e adicioná-lo ao allowed_hosts.
Spanky 29/11
Eu fiz isso ssh-keygen -f YOURKEY.pem -y >> ~ / .ssh / allowed_keys, mas o sitll não pode acessar meu ec2 com a nova chave pública.
precisa saber é o seguinte
Eu executei isso e minha chave local não mudou.
Luiz
50

Instruções do suporte do AWS EC2:

  1. Alterar login do pem
  2. vá para o seu console EC2
  3. Em REDE E SEGURANÇA, clique em Par de chaves Clique em Criar par de chaves
  4. Dê um nome ao seu novo par de chaves, salve o arquivo .pem. O nome do par de chaves será usado para conectar-se à sua instância
  5. Crie uma conexão SSH para sua instância e mantenha-a aberta
  6. no PuttyGen, clique em "Carregar" para carregar o seu arquivo .pem
  7. Mantenha o botão de opção SSH-2 RSA marcado. Clique em "Salvar chave privada". Você receberá um aviso na janela pop-up, clique em "Sim"
  8. clique em "Salvar chave pública" também, para gerar a chave pública. Essa é a chave pública que vamos copiar para sua instância atual
  9. Salve a chave pública com o novo nome do par de chaves e com a extensão .pub
  10. Abra o conteúdo da chave pública em um bloco de notas
  11. copie o conteúdo abaixo "Comment:" protected-openssh-key "and before" ---- END SSH2 PUBLIC KEY ----
    Observação - você precisa copiar o conteúdo como uma linha - exclua todas as novas linhas
  12. na sua instância conectada, abra seu arquivo allowed_keys usando a ferramenta vi. Execute o seguinte comando: vi .ssh / allowed_keys, você também verá a chave pública original no arquivo
  13. mova o cursor no arquivo até o final do seu primeiro conteúdo de chave pública: digite "i" para inserir
  14. na nova linha, digite "ssh-rsa" e adicione um espaço antes de colar o conteúdo da chave pública, espaço e o nome do arquivo .pem (sem o .pem) Nota - você deve obter uma linha com o mesmo formato da linha anterior
  15. pressione a tecla Esc e digite: wq!

isso salvará o arquivo updated_keys autorizado

agora tente abrir uma nova sessão SSH para sua instância usando sua nova chave pai

Quando você confirmar que poderá fazer o SSH na instância usando o novo par de chaves, você poderá vi .ssh / allowed_key e excluir a chave antiga.

Resposta à observação de Shaggie:

Se você não conseguir se conectar à instância (por exemplo, a chave está corrompida), use o console da AWS para desanexar o volume ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html ) e reconecte-o à instância de trabalho. Em seguida, altere a chave no volume e reconecte-o à instância anterior.

Elia Weiss
fonte
6
Deve ser a melhor resposta
2
E se a chave antiga estiver corrompida e você não conseguir conectar-se à instância via putty, pois você não possui o arquivo ppk antigo ???
Shaggie 18/03/19
3
e se você não tiver acesso SSH, daí esse problema.
Jayden Lawson
3
Jayden Lawson, e se você não tiver conexão com a internet?
Elia Weiss
1
Pode acontecer que o par de chaves tenha sido compartilhado com outra pessoa e agora precise alterar os pares de chaves para que a pessoa não possa mais fazer login, ou muitas outras razões como esta,
Harikrishna
38

Percebi que, quando gerenciado pelo Elastic Beanstalk, você pode alterar seu par de chaves EC2 ativo. Em Elastic Beanstalk> Configuração> Segurança, escolha a nova chave no menu suspenso Par de chaves do EC2 . Você verá esta mensagem perguntando se tem certeza:

EC2KeyName: as alterações nas configurações da opção EC2KeyName não terão efeito imediato. Cada uma das instâncias existentes do EC2 será substituída e suas novas configurações entrarão em vigor.

Minha instância já foi encerrada quando eu fiz isso. Em seguida, foi iniciado, finalizado e iniciado novamente. Aparentemente, "substituir" significa encerrar e criar uma nova instância. Se você modificou seu volume de inicialização, primeiro crie uma AMI e especifique-a no mesmo formulário Elastic Beanstalk> Configuração> Instâncias que o ID da AMI personalizada . Isso também avisa sobre a substituição das instâncias do EC2.

Depois de modificar seu par de chaves EC2 e o ID da AMI personalizada, e depois de receber avisos sobre ambos, clique em Salvar para continuar.

Lembre-se de que o endereço IP muda quando a instância é recriada; portanto, você precisa recuperar um novo endereço IP do console do EC2 para usar ao se conectar via SSH.

Mark Berry
fonte
1
Agora, isso está na seção "Segurança" da configuração.
Will Demaine 29/03
Obrigado @WillDemaine. No momento, não estou usando a AWS, então aceitarei sua palavra e aprovarei a edição!
Mark Berry
31

Passei por essa abordagem e, depois de algum tempo, consegui fazê-la funcionar. A falta de comandos reais tornou difícil, mas eu descobri. NO ENTANTO - uma abordagem muito mais fácil foi encontrada e testada logo após:

  1. Salve sua instância como uma AMI (reinicie ou não, sugiro reiniciar). Isso funcionará apenas se o EBS tiver feito backup.
  2. Em seguida, basta iniciar uma instância a partir desta AMI e atribuir seu novo Keyfile.
  3. Mova seu IP elástico (se aplicável) para sua nova instância e pronto.
OldGreg
fonte
Esta totalmente funcionou para mim depois que eu acidentalmente apagado ~ / .ssh
morri
Eu fiz o mesmo e funcionou, agora posso entrar com o novo pem. Mas ainda posso entrar com o pem antigo. Então agora 2 pems são válidas.
Vitaly
Para sua informação, este é um método GUI fácil e rápido de ativar um novo EC2 com chave diferente se ocupado, mas como @vitaly descobriu que a chave pem antiga também é válida, você precisa ir para /home/ec2-user/.ssh/authorized_keys e remover a chave pem antiga do arquivo. Obrigado pelo método rápido de alteração da chave Pem, fácil e agradável quando não há tempo.
Blu Towers
Isso não funcionou para mim. A AWS continuou dizendo que a senha não estava disponível com outra mensagem mencionando que, se a instância foi criada a partir de uma AMI, ela usa as credenciais da imagem pai.
Brady
15

Se as etapas abaixo forem seguidas, economizará muito tempo e não será necessário interromper a instância em execução.

  1. Inicie a nova instância t1.micro EC2, usando o novo par de chaves. Certifique-se de criá-lo na mesma sub-rede , caso contrário, você precisará encerrar a instância e criá-la novamente.
  2. SSH para a nova micro instância e copie o conteúdo de ~ / .ssh / allowed_keys em algum lugar do seu computador.
  3. Entre na instância principal com a chave ssh antiga .
  4. Copie e substitua o conteúdo do arquivo do ponto 2 para ~ / .ssh / allowed_keys
  5. Agora você pode fazer login novamente apenas com a nova chave. Chave antiga não funcionará mais.

É isso. Enjoy :)

vinay saini
fonte
14

Acredito que a abordagem mais simples é:

  1. Crie uma imagem AMI da instância existente.
  2. Inicie a nova instância do EC2 usando a imagem AMI (criada pela etapa 1) com o novo par de chaves.
  3. Efetue login na nova instância do EC2 com a nova chave.
Sergey
fonte
@Brady, o que não funciona? fazendo um instantâneo? instância de lançamento? Conecte-se?
21417 Sergey
4
Não tenho certeza se essa alteração é recente ou não, mas quando você cria uma AMI a partir de uma instância que já possui uma chave atribuída, é necessário que ela esteja disponível para fazer login na imagem da AMI copiada, independentemente de ser ou não você atribui um par de chaves diferente durante a criação.
Brady #
Esta não é uma solução, pois a @Brady menciona que não funciona.
Greg Sansom
8

Caso esteja usando a plataforma ElasticBeanstalk, você pode alterar as chaves indo:

  • Painel Elastic Beanstalk
  • Configuração
  • Instâncias (engrenagem no canto superior direito)
  • Par de chaves EC2

Isso encerrará a instância atual e criará uma nova com as chaves / configurações escolhidas.

Vaelyr
fonte
2
Essa é a resposta mais simples aqui, desde que você esteja no ElasticBeanstalk.
Yuval Karmi
2
Atenção ! Esta é uma solução perigosa. A AWS também redefinirá o armazenamento (ou seja, HDD virtual) anexado a essa instância (!!). Portanto, você deve desanexar o armazenamento e, após gerar uma nova instância, reconecte-o novamente em vez do novo que acompanha a nova instância. De curso, vai ser melhor é que não é um volume criptografado (e você não perdeu sua chave ..)
JamesC
7

Existem dois cenários nesta pergunta: -

1) Você não tem acesso ao arquivo .pem e é por isso que deseja criar um novo.

2) Você tem o. acesso ao arquivo pem com você, mas você deseja alterar ou criar um novo arquivo .pem para fins de vulnerabilidade ou segurança .

Portanto, se você perdeu as chaves, pode rolar para cima e ver outras respostas . Mas se você simplesmente alterar seu arquivo .pem por motivos de segurança, siga as etapas:

1) Acesse o login do console da AWS e crie um novo arquivo .pem na seção de pares de chaves ali. Ele baixará automaticamente o arquivo .pem no seu PC

2) mude a permissão para 400 se você estiver usando Linux / ubuntu, pressione o comando abaixo

chmod 400 yournewfile.pem

3) Gere RSA do arquivo baixado recentemente em sua máquina local

ssh-keygen -f yournewfile.pem -y

4) Copie o código RSA daqui

5) Agora SSH para sua instância via arquivo .pem anterior

ssh -i oldpemfileName.pem username@ipaddress

sudo vim  ~/.ssh/authorized_keys

6) Dê espaço para uma a duas linhas e cole o RSA copiado do novo arquivo aqui e salve o arquivo

7) Agora seu novo arquivo .pem está vinculado à instância em execução

8) Se você deseja desativar o acesso ao arquivo .pem anterior, basta editar o

sudo vim ~/.ssh/authorized_keys

e remova ou altere o RSA anterior a partir daqui.

Nota: - Remova com cuidado para que o RSA recém-criado não seja alterado.

Dessa maneira, você pode alterar / conectar o novo arquivo .pem à sua instância em execução.

Você pode revogar o acesso ao arquivo .pem gerado anteriormente por motivos de segurança.

Espero que ajude!

Parveen yadav
fonte
2
Eu meio que gosto dessa solução porque ela não exige que eu crie uma nova instância com imagem AMI congelada. Mas esse método é capaz de alterar o nome do par de chaves associado da instância do EC2 no painel do EC2? @Parveen yadav
addicted
6

A solução mais simples é copiar o conteúdo de

~/.ssh/id_rsa.pub

nas chaves autorizadas da sua instância da AWS em

~/.ssh/authorized_keys

Isso permitirá que você faça o ssh na instância do EC2 sem especificar um arquivo pem para o comando ssh. Você pode remover todas as outras chaves depois de testar a conexão a ela.

Se você precisar criar uma nova chave para compartilhá-la com outra pessoa, poderá fazer isso com:

ssh-keygen -t rsa

que criará o arquivo key.pem privado e você poderá obter a chave pública com:

ssh-keygen -f private_key.pem -y > public_key.pub

Qualquer pessoa que possua private_key.pem poderá se conectar com

ssh [email protected] -i private_key.pem
snez
fonte
4
como posso acessar ~/.ssh/authorized_keysquando não consigo nem o SSH aws instance?
prayagupd
3
Acredito que sua última linha esteja incorreta, você poderá se conectar apenas se tiver a chave privada. Ssh -i private_key.pem [email protected]. Se você quiser alguém para dar-lhe o acesso ao seu exemplo, você pode seguramente compartilhar sua chave pública com eles e eles podem adicioná-lo aos seus authorized_keys para lhe conceder acesso à instância como esse usuário ...
code4cause
5

Você não precisa girar o dispositivo raiz e alterar a chave pública SSH authorized_keys. Pois isso pode utilizar dados do usuário para adicionar as chaves ssh a qualquer instância. Para isso, é necessário criar um novo KeyPair usando o console da AWS ou através do ssh-keygen.

ssh-keygen -f YOURKEY.pem -y

Isso irá gerar uma chave pública para o seu novo SSH KeyPair, copie essa chave pública e use-a no script abaixo.

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [scripts-user, always]

--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"

#!/bin/bash
/bin/echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6xigPPA/BAjDPJFflqNuJt5QY5IBeBwkVoow/uBJ8Rorke/GT4KMHJ3Ap2HjsvjYrkQaKANFDfqrizCmb5PfAovUjojvU1M8jYcjkwPG6hIcAXrD5yXdNcZkE7hGK4qf2BRY57E3s25Ay3zKjvdMaTplbJ4yfM0UAccmhKw/SmH0osFhkvQp/wVDzo0PyLErnuLQ5UoMAIYI6TUpOjmTOX9OI/k/zUHOKjHNJ1cFBdpnLTLdsUbvIJbmJ6oxjSrOSTuc5mk7M8HHOJQ9JITGb5LvJgJ9Bcd8gayTXo58BukbkwAX7WsqCmac4OXMNoMOpZ1Cj6BVOOjhluOgYZbLr" >> /home/hardeep/.ssh/authorized_keys
--//

Após a reinicialização, a máquina terá a chave de publicação SSH especificada. Remova os dados do usuário após a primeira reinicialização. Leia mais sobre os dados do usuário na inicialização .

Hardeep Singh
fonte
4
  • Crie uma nova chave, por exemplo, usando o PuTTY Key Generator
  • Parar instância
  • Definir dados do usuário da instância para enviar a chave pública ao servidor
  • Instância inicial

Aviso: Não esqueça de limpar os dados do usuário novamente. Caso contrário, essa tecla será pressionada a cada início da instância. Instruções passo a passo .

#cloud-config
bootcmd:
 - echo 'ssh-rsa AAAAB3Nz...' > /root/.ssh/authorized_keys

insira a descrição da imagem aqui

Reto Höhener
fonte
1
Esta é a maneira oficial da AWS de fazê-lo, portanto, adote o @reto. aws.amazon.com/premiumsupport/knowledge-center/…
Bevan
3

Eu tentei abaixo as etapas e funcionou sem parar a instância. Meu requisito era: como alterei minha máquina cliente, o arquivo .pem antigo não estava permitindo que eu fizesse logon na instância ec2.

  1. Faça logon na instância ec2 usando seu arquivo .pem antigo da máquina antiga. Abra ~ / .ssh / allowed_keys

Você verá suas chaves antigas nesse arquivo.

  1. ssh-keygen -f YOUR_PEM_FILE.pem -y Gerará uma chave. Acrescente a chave a ~ / .ssh / allowed_keys abertas na etapa 1. Não há necessidade de excluir a chave antiga.

  2. No console da AWS, crie um novo par de chaves. Guarde na sua nova máquina. Renomeie-o para o arquivo pem antigo - o motivo é que o arquivo pem antigo ainda está associado à instância ec2 na AWS.

Tudo feito.

Posso fazer logon no AWS ec2 a partir da minha nova máquina cliente.

Mr. Bordoloi
fonte
3

Você tem várias opções para substituir a chave da sua instância do EC2.

  1. Você pode substituir a chave manualmente no arquivo .ssh / allowed_keys. No entanto, isso exige que você realmente tenha acesso à instância ou ao volume, se não estiver criptografado.
  2. Você pode usar o AWS Systems Manager. Isso requer a instalação de um agente.

Como a primeira opção pode ser encontrada facilmente nas respostas ou no mecanismo de pesquisa de sua escolha, desejo me concentrar no Systems Manager.

  1. Abra o serviço Systems Manager
  2. Clique no Automationlado esquerdo.
  3. Clique em Execute Automation
  4. Selecione AWSSupport-TroubleshootSSH(geralmente está na última página)

Você pode encontrar mais informações na documentação oficial da AWS

Hendric
fonte
1

A resposta de Yegor256 funcionou para mim, mas pensei em adicionar alguns comentários para ajudar aqueles que não são tão bons em montar unidades (como eu!):

A Amazon permite que você escolha o nome do volume ao anexá-lo. Você usou um nome no intervalo de / dev / sda - / dev / sdp. As versões mais recentes do Ubuntu renomearão o que você colocar lá para / dev / xvd (x) ou algo nesse sentido.

Então, para mim, escolhi / dev / sdp como nome do nome da montagem na AWS, depois entrei no servidor e descobri que o Ubuntu havia renomeado meu volume para / dev / xvdp1). Tive então que montar a unidade - para mim tive que fazer assim:

mount -t ext4 xvdp1 /mnt/tmp

Depois de pular todos esses obstáculos, eu poderia acessar meus arquivos em / mnt / tmp

Ryan
fonte
como comentário, isso deve ser adicionado como comentário, não como resposta.
JDL #
0

Isso funcionará apenas se você tiver acesso à instância em que deseja alterar / adicionar a chave. Você pode criar um novo par de chaves. Ou, se você já possui o par de chaves, pode colar a chave pública do novo par no arquivo allowed_keys na sua instância.

vim .ssh / allowed_keys

Agora você pode usar a chave privada desse par e efetuar login.

Espero que isto ajude.

skd
fonte
0

Meu problema foi que tentei com IPmais do que com público DNS. Então eu tentei com public DNSe está resolvido

vipin cp
fonte
0

se você não conseguir fazer login na VM e excluiu as chaves ssh e também poderá alterar o par de chaves do seu ec2 usando as etapas abaixo. Vá passo a passo 1) interrompa sua instância do ec2. 2) tire uma foto instantânea da VM e do armazenamento. 3) crie uma nova VM enquanto a cria, selecione seu instantâneo e crie a VM a partir do seu instantâneo. 4) enquanto a criação da VM baixa o seu par de chaves. 5) depois de sua VM UP, você pode ssh com um novo par de chaves e seus dados também voltarão.

Raghunath Babalsure
fonte
0

O que você pode fazer...

  1. Crie um novo perfil / função de instância que tenha a política AmazonEC2RoleForSSM anexada.

  2. Anexe este perfil de instância à instância.

  3. Use o SSM Session Manager para efetuar login na instância.
  4. Use keygen na sua máquina local para criar um par de chaves.
  5. Envie a parte pública dessa chave para a instância usando sua sessão do SSM.
  6. Lucro.
Belial
fonte
0

Obrigado pelas dicas pessoal. Definitivamente vou lembrá-los quando eu precisar descansar os pares de chaves. No entanto, no interesse da eficiência e da preguiça, inventei outra coisa:

  1. Crie seu novo par de chaves e faça o download das credenciais
  2. Clique com o botão direito do mouse na sua instância> Criar AMI.
  3. encerre sua instância (ou apenas interrompa-a até ter certeza de que pode criar outra a partir da sua nova AMI brilhante)
  4. Inicie uma nova instância do EC2 a partir da AMI que você acabou de criar e especifique seu novo par de chaves criado na etapa (1) acima.

Espero que isso possa ser útil para você e poupar algum tempo, além de minimizar a quantidade de cabelos brancos que você obtém em coisas como essa :)

George Smith
fonte