açıkça pem tuşunu kullanmadan EC2'ye nasıl SSH yapabilirim?


21

Ana işletim sistemim olarak bir pencerem var. VMware player kullanarak, misafir makinesi olarak bir Ubuntu sunucusu 12.4 kurdum. Ubuntu sunucusunda "ubuntu" kullanıcısı var.

Yeni bir EC2 örneği + kurulum pem anahtarı oluşturdum. Windows makineden, macun + pem tuşunu kullandığımda - ssh yapabilirim.

Pem anahtarını VMware Ubuntu sunucuma ekledim (/home/ubuntu/.ssh/) Ek olarak aşağıdaki izinleri de ayarladım: chmod 700 /home/ubuntu/.ssh chmod 600 /home/ubuntu/.ssh/*

Ubuntu sunucu üzerinden - Ben başarılı olamadı EC2 örneğine SSH çalıştı: ssh ubuntu@EC2_IP Permission denied (publickey) . Açıkça pem tuşunu kullanırsam çalışır: ssh -i /home/ubuntu/.ssh/NAME.pem ubuntu@EC2_IP - Lütfen, anahtara doğrudan yol kullanmam gerektiğini, aksi takdirde alacağımı Warning: Identity file NAME.pem not accessible: No such file or directory. Permission denied (publickey).

Tavsiye lütfen. Teşekkürler!

Yanıtlar:


18

Varsayılan olarak SSH istemcisi adlandırılmış anahtarlar için bakacağız id_rsa, id_dsave id_ecdsade ~/.ssh/. Anahtarınız böyle adlandırılmamışsa, komut satırında -iyaptığınız gibi belirtmeniz veya istemci yapılandırmasında belirtmeniz gerekir.

~/.ssh/configEC2'ye SSHing yaparken bu anahtarı otomatik olarak seçmek için buna benzer bir şey ekleyebilirsiniz :

Host *.compute-1.amazonaws.com
    IdentityFile ~/.ssh/ec2_rsa


2

Özel anahtarınızı nasıl adlandırırsınız? Varsayılan id_rsa dosya adına sahip olmalıdır (pem dosyasını /home/ubuntu/.ssh/id_rsa olarak değiştirin)


eldad.pem (AWS'den varsayılan ad) olarak adlandırılır. İd_rsa olarak değiştirdim ve işe yaradı. Geçerli adında tutmanın ve hala kullanmanın bir yolu var mı?
user798562 15:13

Evet, Daniel zaten cevabında bu konuda yazdı :)
Andrei Mikhaltsov

1

Özel anahtarı açıkça belirtmek zorunda kalmamak için kullanabilir ssh-agentve kullanabilirsiniz ssh-add.

Komutları kendi içine koyabilir .profileveya .bashrcher giriş yaptığınızda çalıştırılmaları için bu yazının altında örnek bir başlangıç ​​betiği bulabilirsiniz .


Bunu yaptım, ama yeniden başlattığımda - tekrar tekrar yapmam gerekiyor. Bundan kaçınmanın bir yolu var mı?
user798562 15:13

Buna dahil etmek için cevabımı düzenledim.
David Levesque

0

Ssh istemcisi identify file, ayarlanan yapılandırmaya göre arar /etc/ssh/ssh_config. Böylece orada kimlik dosyasını belirtebilir ve ssh istemcisi config dosyasında listelenen birden fazla kimlik dosyasına sahip olabileceğinizi unutmayın. Ssh man sayfasından -

    -i identity_file
         Selects a file from which the identity (private key) for public key authentication is read.  The default is ~/.ssh/identity
         for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and ~/.ssh/id_rsa for protocol version 2.  Identity files may also
         be specified on a per-host basis in the configuration file.  It is possible to have multiple -i options (and multiple identiâ
         ties specified in configuration files).

Örneğin, RSA anahtarı için varsayılan konum ~ / .ssh / id_rsa'dır. Andrei Mikhaltsov'un önerdiği gibi, özel anahtarınızı / home / ubuntu / ssh / id_rsa içine yerleştirebilir ve komut satırında belirtmeden bağlanabilirsiniz. Bu dosya adı zaten varsa ve başka bir özel anahtar içeriyorsa, ssh istemcisi config dosyanızı IdentityFileparametrede de özelleştirebilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.