Bir Amazon EC2 bulut sunucusu için SSH erişimini nasıl kurarım?


87

Ubuntu 10.4 çalıştıran bir Amazon EC2 bulut sunucusuna SSH erişimine ihtiyacım var. Sahip olduğum tek şey Amazon kullanıcı adı ve şifresi. Herhangi bir fikir?


2
İndirdikten sonra chmod 400 my_private_key.pem.txt dosyasını çalıştırmayı unutmayın.
Peter Kaminski

Yanıtlar:


159

Temel olarak, EC2'nize SSH aracılığıyla giriş yapmak için bir özel anahtar dosyasına ihtiyacınız vardır. Bir tane oluşturmak için şu adımları izleyin:

  • Https://console.aws.amazon.com/ec2/home adresine gidin ve mevcut Amazon hesabınızda oturum açın.
  • LHS veya https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs üzerindeki "Anahtar Çiftleri" ni tıklayın .
    • Sizin tarafınızdan (veya EC2 oluşturma işlemi sırasında) oluşturulan ANAHTARLARIN listesini görmelisiniz.
    • Hiçbirini görmüyorsanız veya özel anahtarınızı kaybettiyseniz "Anahtar Çifti Oluştur" u tıklayın.
    • Benzersiz bir ad girin ve enter tuşuna basın.
    • Özel anahtarı kaydetmeniz için bir indirme paneli görünecektir.
    • "0600" dosya iznine sahip bir yerde saklayın
  • LHS'de veya https://console.aws.amazon.com/ec2/home?region=us-east-1#s=Instances üzerinde "Örnekler" i tıklayın
    • Ec2 örnekleri listesini görmelisiniz, hiç görmüyorsanız lütfen bir tane oluşturun.
    • EC2 makinesine tıklayın ve Genel DNS adresini not edin.
  • Terminalinizi açın (Linux'ta) ve aşağıdaki komutu yazın
    • ssh -i /path/to/private-key root@<ec2-public-dns-address>- dağıtım seçiminize bağlı olarak ec2-userveya ubuntukullanıcı adınız olarak en son sürümlerde kök kullanıcı adından kaçınılmıştır .
    • Enter'a basın
    • Bu kadar.

6
Büyük olasılıkla doğrudan ssh aracılığıyla root olarak oturum açamazsınız. Ec2-user gibi kök olmayan bir hesap kullanmanız gerekecek, yani 'ssh -i / yol / özel-anahtar ec2-kullanıcı @ ana bilgisayar adı
timbo

4
Bağlanmayı denediğimde, ubuntubunun yerine oturum açmam gerektiğini söyledi root. Görünüşe göre 12.04 ubuntu sunucum var.
Vasiliy Stavenko

3
SSH hesabını başarıyla oluşturdum, şimdi oluşturulan hesapla SCP kullanarak dosyaları nasıl yükleyeceğim ??? SCP kullanarak yüklemeye çalıştığımda "İzin reddedildi (publickey)" yazıyor.
Ashok KS

5
yine de bu masajı alın "İzin reddedildi (publickey)." Neden?
Kasun Kariyawasam

2
"İzin reddedildi (publickey)" mesajı alıyorsunuz. Elastic Beanstalk kullanıyor olabilir. Öyleyse, EB env Config, Security'ye gitmeniz ve yeni anahtar çiftini seçmeniz gerekir. Anahtarı kabul eden yeni EC2 bulut sunucuları oluşturulacaktır. Ve kullanıcı adı ec2-userveya belki ubuntu, ama değil root.
Jorge Orpinel

25
ssh -i /path/to/private-key ubuntu@<ec2-public-dns-address>

ubuntuyerine kullanın root. Sorunun çözülecek. Şerefe!


12

ADIM 1) ec2 makinenize atanan özel anahtarları indirin (bu, oluşturulduğunda yalnızca bir kez indirilir, bu nedenle bir yere kaydetmeniz önerilir)

ADIM 2) ve aşağıdaki komutları ateşleyin,

chmod 400 MyKeyPair.pem
ssh -i MyKeyPair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

Resmi Doküman : SSH Kullanarak Linux / Unix Örneklerinize Bağlanma


7

13.04 için geçerli kullanıcı "ubuntu" ssh -i ./mykey.pem ubuntu@ec2-xxx-xxx-xxx-1.compute-1.amazonaws.com


4

Önce bir anahtar çifti oluşturmanız gerekir - bunu EC2 konsolunuzu kullanarak yapın. Ardından ec2-user, seçtiğiniz bir SSH istemcisini kullanarak sunucuya SSH (kullanıcı adı ) için özel anahtarınızı kullanın .

Bir kez girdiğinizde, isterseniz sudo su -kök kazanmak için bir yayınlayabilirsiniz (not: doğrudan kök olarak oturum açamazsınız ).


4

MacOS kullanıyorsanız, SSH yapılandırma dosyası (~ / .ssh / config) oluşturmalı / düzenlemeli ve aşağıdaki gibi bir şey koymalısınız:

Host *.amazonaws.com
    User ubuntu
    Port 22
    StrictHostKeyChecking no
    UserKnownHostsFile=/dev/null
    IdentityFile ~/PATH/YOUR_DOWNLOADED_KEY.pem

Ardından, herhangi bir EC2 bulut sunucusuna bağlanmak için:

ssh MYNAME.amazonaws.com

Daha fazlası yok!


us-east-1.pem ve us-west-2.pem gibi farklı Bölgeler için çoklu dost anahtarım varsa
Haseeb

1

Ubuntu'yu AWS'de kurmak için lütfen aşağıdaki adımları izleyin:

  1. Giriş-in Amazon Web Services basıp EC2 .
  2. Doğru görüntüyü (Ubuntu), örnek türünü, VPC ağını ve Alt ağı yapılandırarak, depolamayı ve Güvenlik Gruplarında SSH erişimine izin vererek Örneği Başlat'ı seçin ve sihirbazı izleyin . Ardından Başlat .
  3. İlk kez, muhtemelen anahtar çiftini kurmanız ve bunu örneğe atamanız gerekir. Anahtar Çiftlerinde de anahtar çifti oluşturabilirsiniz . Oluşturulduktan sonra PEM dosyasını indirin ve güvenli bir yerde saklayın.
  4. Örnek başlatıldığında, örnek Başlatılana ve çalışmaya başlayana kadar bekleyin .

Örneğe SSH aracılığıyla erişmek için şunu çalıştırın:

  1. PEM dosyanızı belirterek Linux kutusuna bağlanın, örn.

    ssh -i "file.pem" ubuntu@x.x.x.x
    

    PEM dosyanızın 600 izne sahip olduğundan emin olun ( chmod 600 file.pem).

Sorun giderme

VPC örneği çalıştırıyorsanız ve güvenlik grubunuz doğruysa (doğru kurallarla) ve yine de çalışmıyorsa, VPC bölümünde VPC'nize (her ikisi de örneğiniz tarafından kullanılır ) eklenmesi gereken alt ağınızı kontrol edin ve kurun yeni kural Rota Tablo sahip olarak Hedef ve İnternet Ağ Geçidi olarak Hedef .0.0.0.0/0

Daha fazla ayrıntı için kontrol edin: Örneğinize Bağlanma Sorunlarını Giderme

Ayrıca bkz: EC2 bulut sunucusuna erişmeye çalışırken zaman aşımının olası nedenleri


1

1) Önce aşağıdaki gibi dosya permissons sınırlamak içinchmod.pem file

chmod 400 my-key-pair.pem

2) Ardından sshdoğrudan .sshklasörden aşağıdaki komutlarla

ssh -i my-key-pair.pem ec2-user@ec2-198-99-90-3.compute-1.amazonaws.com

Not: - .sshKlasöre gitmek için . Önce Ctrl + Htüm gizli dosyaları görüntülemek için basın ve son olarakcd .ssh


0

Sorun, sizin için doğru kullanıcı olarak oturum açmamak OS Distro olabilir. Belirli yeni AMI için kullanıcı adı "ubuntu" değil, "ec2-user" olabilir. Amazon Linux için, örneğin kullanıcının "ec2-user" olduğuna inanıyorum. Eric Hammond burada örnekler veriyor: http://alestic.com/2014/01/ec2-ssh-username

Önerim, şunu dene:

ssh -i /path/to/file.pem ec2-user@ec2...

ssh -i /path/to/file.pem ubuntu@ec2...

ssh -i /path/to/file.pem root@ec2...

Yanlış AMI'ye sahipseniz, kümeleriniz arasında tekdüzelik sağlamak için makineyi tamamen yeniden başlatmak isteyebilirsiniz. Eğer sorununuz buysa, muhtemelen en azından linux kutularınız için aynı işletim sistemi dağıtımını isteyeceksiniz.


0

Tüm bu cevaplarda önerilenleri yapmak yeterli değildir. Her örneğe karşı bir güvenlik grubu görürsünüz. Yeni bir örnek başlattığınızda, bu şeyi varsayılan olarak ayarlayacaksınız. Güvenlik grubunu düzenlemeniz ve ssh portunu eklemeniz gerekir. Daha sonra web sitenizi barındırmak istediğinizde de 8080, 8443, 80, 443 bağlantı noktalarını eklemeniz gerekir.


0

AWS'nin 'Tüm Trafic' bağlantı noktalarını içeren varsayılan güvenlik gruplarını kullanma teklifini kabul ettim.

Ve birçok kez yeni ec2 örneğime bağlanmaya çalıştıktan sonra, kullanılan güvenlik grubumu düzenlemem ve 22 bağlantı noktasını (ssh) gelen ve gidenlere manuel olarak eklemem gerektiğini fark ettim!

Umarım yardımcı olur !


0

Pem dosyasının ilk değişiklik iznini tarafından

chmod 400 path/to/key_pair.pem

~ / .Ssh / config dosyasının içine dosyanın üstüne aşağıdaki satırları ekleyin

Host AWS
     Hostname myserver.com
     User myuser
     IdentityFile path/to/.pem/file
     port 22

Ana bilgisayar adı IP veya sunucunun bağlantısını alır, Kullanıcı sunucunun kullanıcı adını alır ve Kimlik dosyası, örnek oluşturduğunuzda AWS'den indirilen dosyadır. Sadece terminalde aşağıdaki komutu çalıştırın

ssh AWS

ve tadını çıkar!

Not : .sshKlasöre gitmek için . İlk pres Ctrl + Hev klasöründe nihayet tüm gizli dosyaları görüntülemek vecd .ssh


0

Bunların kontrol altında olduğundan emin olun

  1. özel anahtar 400 izne sahip olmalıdır

  2. Erişmeye çalıştığınız AWS örneği için 22 numaralı bağlantı noktasının açık olduğundan emin olun.

  3. ssh -i privatekey.pem ubuntu@XXX.XXX.XXX.XXX // XXX.XXX.XXX.XXX = örneğiniz genel IP adresiniz
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.