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.
amazon-web-services
amazon-ec2
ssh
key-pair
Michael Chen
fonte
fonte
Respostas:
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:
/dev/xvda1
volume (vamos chamá-lo de volume A) - veja aqui/dev/xvdf
(ou/dev/sdf
)SSH para a nova micro instância e monte o volume A para
/mnt/tmp
$ sudo mount / dev / xvdf1 / mnt / tmp
Copiar
~/.ssh/authorized_keys
para/mnt/tmp/home/ubuntu/.ssh/authorized_keys
/dev/xvda
.pem
arquivoÉ isso aí.
fonte
mkdir /mnt/tmp
e entãomount /dev/xvdf /mnt/tmp
deve fazer o truque para o # 5. E não esqueça que a etapa 13. provavelmente estárm ~/.ssh/known_hosts
nas caixas das quais você está se conectando..ssh/authorized_keys
arquivo original .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:
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:
Isso se aplicaria apenas a novas instâncias que você executa.
fonte
.pem
arquivo de chave privada no meu Mac, masssh -i key.pem
nã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!Execute este comando depois de baixar o seu AWS pem.
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
e depois
fonte
Instruções do suporte do AWS EC2:
Observação - você precisa copiar o conteúdo como uma linha - exclua todas as novas linhas
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.
fonte
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:
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.
fonte
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:
fonte
Se as etapas abaixo forem seguidas, economizará muito tempo e não será necessário interromper a instância em execução.
É isso. Enjoy :)
fonte
Acredito que a abordagem mais simples é:
fonte
Caso esteja usando a plataforma ElasticBeanstalk, você pode alterar as chaves indo:
Isso encerrará a instância atual e criará uma nova com as chaves / configurações escolhidas.
fonte
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:
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!
fonte
A solução mais simples é copiar o conteúdo de
nas chaves autorizadas da sua instância da AWS em
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:
que criará o arquivo key.pem privado e você poderá obter a chave pública com:
Qualquer pessoa que possua private_key.pem poderá se conectar com
fonte
~/.ssh/authorized_keys
quando não consigo nem o SSH aws instance?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.Isso irá gerar uma chave pública para o seu novo SSH KeyPair, copie essa chave pública e use-a no script abaixo.
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 .
fonte
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 .
fonte
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.
Você verá suas chaves antigas nesse arquivo.
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.
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.
fonte
Você tem várias opções para substituir a chave da sua instância do EC2.
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.
Systems Manager
Automation
lado esquerdo.Execute Automation
AWSSupport-TroubleshootSSH
(geralmente está na última página)Você pode encontrar mais informações na documentação oficial da AWS
fonte
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:
Depois de pular todos esses obstáculos, eu poderia acessar meus arquivos em / mnt / tmp
fonte
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.
fonte
Meu problema foi que tentei com
IP
mais do que com públicoDNS
. Então eu tentei compublic DNS
e está resolvidofonte
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.
fonte
O que você pode fazer...
Crie um novo perfil / função de instância que tenha a política AmazonEC2RoleForSSM anexada.
Anexe este perfil de instância à instância.
fonte
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:
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 :)
fonte