AWS yönetim konsolunda ec2 yönetim ortamımın anahtar çiftini nasıl değiştirebilirim? Örneği durdurabilirim, yeni anahtar çifti oluşturabilirim, ancak örneğin anahtar çiftini değiştirmek için herhangi bir bağlantı göremiyorum.
AWS yönetim konsolunda ec2 yönetim ortamımın anahtar çiftini nasıl değiştirebilirim? Örneği durdurabilirim, yeni anahtar çifti oluşturabilirim, ancak örneğin anahtar çiftini değiştirmek için herhangi bir bağlantı göremiyorum.
Yanıtlar:
Bu yanıt, var olan sunucuya artık SSH erişiminiz yoksa (yani özel anahtarınızı kaybettiğinizde) kullanışlıdır .
Hala SSH erişiminiz varsa, lütfen aşağıdaki cevaplardan birini kullanın.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#replacing-lost-key-pair
Eric Hammond'ın blog yazısı sayesinde yaptığım şey:
/dev/xvda1
(hadi A hacmi diyelim) - buraya bakın/dev/xvdf
(veya /dev/sdf
) olarak ekleyinSSH'yi yeni mikro örneğe ve A birimini /mnt/tmp
$ sudo dağı / dev / xvdf1 / mnt / tmp
Şuraya kopyala ~/.ssh/authorized_keys
:/mnt/tmp/home/ubuntu/.ssh/authorized_keys
/dev/xvda
.pem
dosyanızı kullanarak daha önce olduğu gibi giriş yapınBu kadar.
mkdir /mnt/tmp
ve sonra mount /dev/xvdf /mnt/tmp
# 5 için hile yapmalı. Ve 13. adımı muhtemelen rm ~/.ssh/known_hosts
bağlandığınız kutularda olduğunu unutmayın .
.ssh/authorized_keys
dosyayı değiştirelim .
Bir örnek başlatıldıktan sonra, örnekle ilişkili anahtar çiftini meta veri düzeyinde değiştirmenin bir yolu yoktur, ancak örneğe bağlanmak için kullandığınız ssh anahtarını değiştirebilirsiniz.
Çoğu AMI'de genel ssh anahtarını indiren ve bir .ssh / yetkili_anahtarlar dosyasına yükleyen bir başlatma işlemi vardır, böylece ilgili kullanıcı ssh anahtarını kullanarak ssh olarak girebilirsiniz.
Bir örneğe erişmek için kullandığınız ssh anahtarını değiştirmek isterseniz, örneğin kendindeki yetkili_anahtarlar dosyasını düzenlemek ve yeni ssh genel anahtarınıza dönüştürmek istersiniz.
Authority_keys dosyası, oturum açtığınız kullanıcının ana dizininin altındaki .ssh alt dizininin altındadır. Çalıştırdığınız AMI'ye bağlı olarak, şunlardan birinde olabilir:
/home/ec2-user/.ssh/authorized_keys
/home/ubuntu/.ssh/authorized_keys
/root/.ssh/authorized_keys
Authority_keys dosyasını düzenledikten sonra, dosyayı düzenlemek için kullandığınız oturumun bağlantısını kesmeden önce örneğe ssh yapabileceğinizi onaylamak için her zaman farklı bir terminal kullanın. Bir hata yapmak ve kendinizi örnekten tamamen kilitlemek istemezsiniz.
EC2'de ssh anahtar çiftlerini düşünürken, Amazon'un sizin için anahtar çiftini oluşturması yerine kendi kişisel ssh ortak anahtarınızı EC2'ye yüklemenizi öneririz.
İşte bunun hakkında yazdığım bir makale:
Amazon EC2'ye Kişisel ssh Anahtarları Yükleme
http://alestic.com/2010/10/ec2-ssh-keys
Bu yalnızca çalıştırdığınız yeni örnekler için geçerlidir.
.pem
dosyasını aldım, ancak ssh -i key.pem
kimlik doğrulaması yapılmıyor (izin verilmedi (publickey)). Anahtar Çifti Adı altındaki EC2 Yönetim Konsolu'nda hiçbir şey listelenmez. Bu beni endişelendiriyor. Bunu nasıl ayarlayabilirim? Yönetim Konsolu'na göre yapılandırıldığım hiçbir anahtar çiftinin atanmamış olduğu anlaşılıyor!
AWS pem'inizi indirdikten sonra bu komutu çalıştırın.
ssh-keygen -f YOURKEY.pem -y
Sonra çıktıyı içine dökün authorized_keys
.
Veya pem dosyasını AWS örneğinize kopyalayın ve aşağıdaki komutları yürütün
chmod 600 YOURKEY.pem
ve sonra
ssh-keygen -f YOURKEY.pem -y >> ~/.ssh/authorized_keys
AWS EC2 desteğinden talimat:
bu işlem güncellenmiş yetkili_anahtarlar dosyasını kaydeder
şimdi yeni anahtar pai'nizi kullanarak örneğinize yeni bir SSH oturumu açmayı deneyin
Yeni anahtar çiftini kullanarak örneğe SSH yapabileceğinizi onayladıktan sonra, vi .ssh / yetkili_keyini kullanabilir ve eski anahtarı silebilirsiniz.
Shaggie sözüne cevap:
Birime bağlanamıyorsanız (örn. Anahtar bozuk), birimi ayırmak için AWS konsolunu kullanmaktan ( http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html ) ve birimdeki anahtarı değiştirmek yerine önceki örneğe geri takın.
Ben Elastik Beanstalk tarafından yönetilen zaman bunu fark edebilirsiniz etkin EC2 anahtar çifti değiştirin. Elastik Beanstalk> Yapılandırma> Güvenlik altında, EC2 anahtar çifti açılır menüsünden yeni anahtarı seçin . Bu mesajı, emin olup olmadığınızı soran bir mesaj görürsünüz:
EC2KeyName: EC2KeyName ayarlarında yapılan değişiklikler hemen geçerli olmaz. Mevcut EC2 bulut sunucularınızın her biri değiştirilecek ve yeni ayarlarınız geçerli olacaktır.
Bunu yaptığımda örneğim zaten sonlandırıldı. Daha sonra başladı, feshedildi ve tekrar başladı. Görünüşe göre "değiştirme", yeni bir örnek oluşturma ve sonlandırma anlamına gelir. Önyükleme biriminizi değiştirdiyseniz, önce bir AMI oluşturun, ardından AMI'yi Özel AMI Kimliği ile aynı Elastik Beanstalk> Yapılandırma> Örnekler formunda belirtin . Bu aynı zamanda EC2 bulut sunucularının değiştirilmesi konusunda da uyarır.
EC2 anahtar çiftinizi ve Özel AMI Kimliğinizi değiştirdikten ve her ikisiyle ilgili uyarıları gördükten sonra, devam etmek için Kaydet'i tıklayın .
Örnek yeniden oluşturulduğunda IP adresinin değiştiğini unutmayın, bu nedenle SSH üzerinden bağlanırken kullanmak için EC2 konsolundan yeni bir IP adresi almanız gerekir.
Bu yaklaşımı izledim ve bir süre sonra işe yaradı. Gerçek komutların olmaması onu zorlaştırdı, ama anladım. ANCAK - kısa bir süre sonra çok daha kolay bir yaklaşım bulundu ve test edildi:
Aşağıdaki adımlar takip edilirse çok zaman kazandıracak ve çalışan örneği durdurmaya gerek kalmayacaktır.
İşte bu. Keyfini çıkarın :)
En basit yaklaşımın:
FlexibleBeanstalk platformunu kullanıyorsanız, tuşları aşağıdakileri kullanarak değiştirebilirsiniz:
Bu geçerli örneği sonlandıracak ve seçilen tuşlar / ayarlarla yeni bir tane oluşturacaktır.
Bu soruda sorulan iki senaryo vardır: -
1) .pem dosyasına erişiminiz yok bu yüzden yeni bir tane oluşturmak istiyorsunuz.
2) Sizde var. pem dosyasıyla erişim sağlayın, ancak yalnızca güvenlik açığı veya güvenlik nedeniyle yeni bir .pem dosyası değiştirmek veya oluşturmak istiyorsunuz .
Yani anahtarlarını kaybetmiş eğer yukarı ve diğer cevaplar görebilirsiniz . Ancak .pem dosyanızı yalnızca güvenlik amacıyla değiştirirseniz şu adımları izleyin:
1) AWS konsolu girişine gidin ve oradaki anahtar çifti bölümünden yeni bir .pem dosyası oluşturun. Otomatik olarak .pem dosyasını bilgisayarınıza indirecektir
2) Linux / Ubuntu kullanıyorsanız izninizi 400 olarak değiştirin.
chmod 400 yournewfile.pem
3) Yerel makinenizde yeni indirilen dosyanın RSA'sını oluşturun
ssh-keygen -f yournewfile.pem -y
4) RSA kodunu buradan kopyalayın
5) Şimdi önceki .pem dosyası aracılığıyla örneğinize SSH
ssh -i oldpemfileName.pem username@ipaddress
sudo vim ~/.ssh/authorized_keys
6) Bir-iki satır boşluk bırakın ve kopyalanan yeni RSA dosyasını buraya yapıştırın ve ardından dosyayı kaydedin
7) Şimdi yeni .pem dosyanız çalışan örneğe bağlandı
8) Önceki .pem dosya erişimini devre dışı bırakmak istiyorsanız,
sudo vim ~/.ssh/authorized_keys
önceki RSA'yı buradan kaldırın veya değiştirin.
Not: - Yeni oluşturulan RSA'nın değişmemesi için dikkatlice çıkarın.
Bu şekilde, yeni .pem dosyasını çalışan örneğinizle değiştirebilir / bağlayabilirsiniz.
Güvenlik nedeniyle önceden oluşturulan .pem dosyasına erişimi iptal edebilirsiniz.
Umarım yardımcı olur!
En basit çözüm, içeriğini kopyalamaktır.
~/.ssh/id_rsa.pub
AWS örneğinizin yetkili_anahtarlarına
~/.ssh/authorized_keys
Bu, ssh komutu için bir pem dosyası belirtmeden EC2 örneğine ssh yapmanızı sağlar. Bağlanmayı test ettikten sonra diğer tüm anahtarları kaldırabilirsiniz.
Başka biriyle paylaşmak için yeni bir anahtar oluşturmanız gerekirse, bunu aşağıdakilerle yapabilirsiniz:
ssh-keygen -t rsa
özel key.pem dosyasını oluşturacak ve bunun genel anahtarını aşağıdakilerle alabilirsiniz:
ssh-keygen -f private_key.pem -y > public_key.pub
Private_key.pem olan herkes,
ssh user@host.com -i private_key.pem
~/.ssh/authorized_keys
SSH aws örneğini bile yapamadığımda nasıl erişebilirim ?
Kök cihazı döndürmeniz ve SSH Genel Anahtarını değiştirmeniz gerekmez authorized_keys
. Bunun için herhangi bir örneğe ssh anahtarları eklemek için kullanıcı verilerini kullanabilir. Bunun için önce AWS konsolunu veya ssh-keygen'i kullanarak yeni bir KeyPair oluşturmanız gerekir.
ssh-keygen -f YOURKEY.pem -y
Bu, yeni SSH KeyPair'iniz için genel anahtar oluşturur, bu genel anahtarı kopyalar ve aşağıdaki komut dosyasında kullanır.
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
--//
Yeniden başlatmanın ardından makinede belirtilen SSH publch anahtarı olacaktır. İlk yeniden başlatmanın ardından kullanıcı verilerini kaldırın. Başlangıçta kullanıcı verileri hakkında daha fazla bilgi edinin .
Uyarı: Kullanıcı verilerini tekrar temizlemeyi unutmayın. Aksi takdirde, bu anahtar her örnek başlangıcında itilecektir. Adım adım talimatlar .
#cloud-config
bootcmd:
- echo 'ssh-rsa AAAAB3Nz...' > /root/.ssh/authorized_keys
Aşağıdaki adımları denedim ve örneği durdurmadan çalıştı. Benim gereksinimim - istemci makinemi değiştirdiğim için eski .pem dosyası ec2 örneğinde oturum açmama izin vermiyordu.
Bu dosyada eski anahtarlarınızı göreceksiniz.
ssh-keygen -f YOUR_PEM_FILE.pem -y Bir anahtar oluşturur. Anahtarı, 1. adımda açılan ~ / .ssh / yetkili_anahtarlarına ekleyin. Eski anahtarı silmenize gerek yok.
AWS konsolundan yeni bir anahtar çifti oluşturun. Yeni makinenizde saklayın. Eski pem dosyasına yeniden adlandırın - eski pem dosyası hala AWS'deki ec2 örneğiyle ilişkilidir.
Hepsi tamam.
Yeni istemci makinemden AWS ec2'de oturum açabiliyorum.
EC2 yönetim ortamınızın anahtarını değiştirmek için birkaç seçeneğiniz vardır.
İlk seçenek yanıtlarda veya seçtiğiniz arama motorunda kolayca bulunabileceğinden, Sistem Yöneticisi'ne odaklanmak istiyorum.
Systems Manager
Automation
Sol tarafa tıklayın .Execute Automation
AWSSupport-TroubleshootSSH
(genellikle son sayfadadır)Resmi AWS Belgeleri hakkında daha fazla bilgi bulabilirsiniz
Yegor256'nın yanıtı benim için çalıştı, ama sadece sürücüler gibi o kadar iyi olmayanlara yardım etmek için bazı yorumlar ekleyeceğimi düşündüm (benim gibi!):
Amazon, birimi eklediğinizde birime ne adlandırmak istediğinizi seçmenizi sağlar. / Dev / sda - / dev / sdp aralığındaki bir adı kullandınız. Ubuntu'nun yeni sürümleri oraya koyduğunuz şeyi / dev / xvd (x) veya bu yönde bir şey olarak yeniden adlandırır.
Bu yüzden benim için, AWS'de mount adını ad olarak / dev / sdp'yi seçtim, sonra sunucuya giriş yaptım ve Ubuntu'nun / dev / xvdp1 için birimimi yeniden adlandırdığını keşfettim). Sonra sürücüyü monte etmek zorunda kaldım - benim için böyle yapmak zorunda kaldım:
mount -t ext4 xvdp1 /mnt/tmp
Tüm bu çemberleri atladıktan sonra / mnt / tmp adresindeki dosyalarıma erişebildim
Bu yalnızca anahtarı değiştirmek / eklemek istediğiniz örneğe erişiminiz varsa çalışır. Yeni bir anahtar çifti oluşturabilirsiniz. Veya zaten anahtar çiftine sahipseniz, yeni çiftin ortak anahtarını örneğinizdeki yetkili_anahtarlar dosyasına yapıştırabilirsiniz.
vim .ssh / yetkili_anahtarlar
Artık bu çift için özel anahtarı kullanabilir ve giriş yapabilirsiniz.
Bu yardımcı olur umarım.
VM'de oturum açamıyorsanız ve ssh anahtarlarınızı sildiyseniz ve ec2'nizin anahtar çiftini aşağıdaki adımları kullanarak da değiştirebilirsiniz. Adım adım gidin 1) ec2 örneğinizi durdurun. 2) VM ve depolamanın anlık görüntüsünü alın. 3) Yeni bir sanal makine oluştururken anlık görüntünüzü seçin ve anlık görüntünüzden sanal makine oluşturun. 4) VM'nin oluşturulması anahtar çiftinizi indirirken. 5) VM UP'niz yeni bir anahtar çifti ile ssh yapabilirsiniz ve verileriniz de geri dönecektir.
Ne yapabilirsin...
AmazonEC2RoleForSSM ilkesi eklenmiş yeni bir Örnek Profili / Rolü oluşturun.
Bu Örnek Profilini örneğe ekleyin.
İpuçları için teşekkürler çocuklar. Anahtar çiftlerini dinlemem gerektiğinde kesinlikle onları akılda tutacağım. Ancak, verimlilik ve tembellik açısından başka bir şey buldum:
Umarım bu sizin için yararlı olabilir ve size biraz zaman kazandırır ve bunun gibi şeylerden aldığınız beyaz saç miktarını en aza indirir :)