Genel anahtarı bir SSH özel anahtarından nasıl alırım?

369

ssh-keygen tarafından oluşturulan bir SSH özel anahtarı bir ortak anahtar parçası içerir. Bu genel anahtarı özel anahtardan nasıl geri alabilirim? Ortak anahtarımı kaybettim ve bu ortak anahtarın içeriğini authorized_keys dosyasında sunuculara koyup yeni bir anahtar çifti oluşturmak istemiyorum.

Alternatif olarak öbekleme: id_rsa.pub dosyasından id_rsa dosyasını nasıl oluşturabilirim?

    
sordu Lekensteyn 18.07.2011 11:57

2 cevap

571

Cevabı Sunucu Hatası'nda buldum: Özel anahtardan genel bir SSH anahtarı oluşturulsun mu?

-y seçeneği, ortak anahtarı çıkarır:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

Bir yan not olarak, ortak anahtarın yorumu kaybolur. Yorum gerektiren bir sitem vardı (Launchpad?), Bu yüzden ~/.ssh/id_rsa.pub değerini düzenlemeniz ve yorum ile anahtar veriler arasındaki boşlukla ilk satıra yorum eklemeniz gerekiyor. Örnek bir ortak anahtar aşağıda kesilmiştir.

ssh-rsa AAAA..../VqDjtS5 [email protected]

SSH Aracısı'na eklenen anahtarlar için (arka planda çalışan ve anahtar parola parolasını tekrar tekrar girme gereksinimini ortadan kaldıran bir program), ortak anahtarları listelemek için ssh-add -L komutunu kullanabilirsiniz. Aracıya eklenen anahtarlar için ( ssh-add -l aracılığıyla). SSH anahtarı bir akıllı kartta saklandığında bu yararlıdır (ve özel anahtar dosyasına erişim mümkün değildir).

    
verilen cevap Lekensteyn 18.07.2011 12:12
12

Bu, özellikle Windows, SSH’yı uzaktaki makinelerine, Amazon AWS ve GCE’deki bulut görüntüleri de dahil olmak üzere kullanan kullanıcılar için bir çözümdür.

(Feragat)

Kısa bir süre önce bu çözümü GCE'de yeni dağıtılmış sanal makinelerde oturum açmak için kullandım.

Kullanılan araçlar:

  1. puttygen
  2. WinSCP

Gerçekleştirilecek adımlar:

  1. Puttygen kullanarak bir ortak / özel anahtar çifti oluşturun.
  2. Sunucunuza bulut veya uzak konumdaki bir ortak anahtar yükleyin.

Açıklama (nasıl yapılır):

  1. Bir anahtar / çift oluşturun veya mevcut bir özel anahtarı kullanın:

    Özel bir anahtarınız varsa:

    Macun açıcıyı açın, yükle düğmesine basın ve özel anahtar (* .pem) dosyanızı seçin.

    yapmıyorsanız özel bir anahtarınız varsa:

    • Puttygen'i aç
    • Parametreler bölümündeki istenen SSH2 DSA tipi anahtarını (RSA veya DSA'yı kullanabilirsiniz) seçin ... ve parola alanını boş bırakmanız önemlidir,
    • Oluştur'a basın ve (ortak / özel) anahtar çifti oluşturmak için talimatları izleyin.

  2. Yeni bir 'authorized_keys' dosyası (Not Defteri ile) oluşturun:

    Genel anahtar verilerinizi, PuTTY Anahtar Üreticisinin "OpenSSH authorized_keys dosyasına yapıştırmak için ortak anahtar" bölümünden kopyalayın ve anahtar verilerini "authorized_keys" dosyasına yapıştırın.

    Bu dosyada yalnızca bir metin satırı olduğundan emin olun.

  3. Anahtarı bir Linux sunucusuna yükleyin:

    • WinSCP'yi aç
    • SFTP dosya protokolünü seçin ve SSH kimlik bilgilerinizle giriş yapın.
    • Başarı durumunda, uzak makinenizdeki ana dizin yapısını görüyorsunuz.

    authorized_keys dosyasını uzak makinedeki giriş dizinine yükleyin.

  4. Doğru izinleri ayarlayın:

    .ssh dizinini yapın (mevcut değilse)

    authorized_keys dosyasını .ssh dizinine kopyalayın (bu, mevcut herhangi bir authorized_keys dosyasının yerini alacaktır; buna dikkat edin).

    Dosya mevcutsa, bu dosyanın içeriğini mevcut dosyaya eklemeniz yeterlidir.

    İzinleri ayarlamak için komutları çalıştırın:

    sudo chmod 700 .ssh && chmod 600 .ssh/authorized_keys
    

Artık her defasında kimlik bilgilerini girmeden uzaktaki bir makineye ssh mümkün olacak.

Daha fazla okuma:

  1. Windows altında SSH anahtarlarını oluşturma ve karşıya yükleme

  2. OpenSSH kullanarak şifre olmadan kimlik doğrulaması Anahtar, sertifikalar .pem ve .pub

verilen cevap devprashant 20.11.2015 07:18

Etiketlerdeki diğer soruları oku