Openssh anahtarı ile macun anahtarı arasındaki fark nedir?


48

Ben ssh-keygen("ssh" paketinin) puttygen("macun" paketinden) farklı anahtarlar ürettiğini gördüm .

ssh-keygenBazı ssh-server'lar ile ortak ve özel anahtarlar oluşturursam anahtarlarımı kabul etmem. Anahtarları puttygentek bir sunucu ile oluşturursam, bunu kabul eder.

Neden Linux depoları bunun için bazı ortak çözümler önermiyorlar? Macunla çalışan anahtarlar yaratan başka bir ssh-3.2.9.1 paketi buldum . Peki neden SSH'da kullanışlı bir çözüm yok?


1
Yeni başlayanlar için PuTTYGen, anahtarları dönüştürmeyi açıkça önerir . Bu nedenle, OpenSSH ve PuTTY'nin anahtarları depolamak için kullandığı yerel formatlar farklıdır. Ancak, desteklenen algoritmalar uyumludur. Sanırım , PuTTYGen’de üretilen anahtar için bit sayısını (örn. DSA 1024 bit gerektiriyor gibi ) vermenize ya da alternatif olarak RSA-1 gibi bir şey seçmiş olmanıza izin veren alana biraz korkak değer girmiş olmanızdır. Bugünlerde hangi sunucuların devre dışı bırakılacağı. Maalesef soru gerçekten ne denediğinizi ve beklediğinizi belirtmiyor.
0xC0000022L

Yanıtlar:


47

OpenSSH, SSH protokolünün fiili standart uygulamasıdır. PuTTY ve OpenSSH farklıysa, PuTTY uyumsuz olandır.

ssh-keygenVarsayılan seçenekleri kullanarak OpenSSH ile bir anahtar oluşturursanız , hemen hemen her sunucuda çalışır. Böyle bir anahtarı kabul etmeyen bir sunucu, SSH'nin farklı bir uygulamasını kullanarak veya garip bir kısıtlayıcı şekilde yapılandırılmış bir antika olacaktır. Varsayılan olmayan türdeki anahtarlar bazı sunucularda desteklenmeyebilir, özellikle ECDSA anahtarları oturum kurulumunu biraz daha hızlı kılar ancak yalnızca OpenSSH'nin son sürümleri tarafından desteklenir.

PuTTY farklı bir anahtar dosya formatı kullanır. Kendi formatı ve OpenSSH formatı arasında dönüştürme araçları ile birlikte gelir .ppk.

Bu bulduğunuz ssh-3.2.9.1 kendi farklı özel anahtar formatına sahip ticari bir üründür . OpenSSH yerine kullanmak için hiçbir neden yok, sadece daha az uyumlu olabilir, ödeme gerektiriyor ve orada nasıl kullanılacağı hakkında sıfır öğretici var.


24

Çoğu Linux dağıtımı Linux için puttykullanılabilir durumda. puttyLinux tarafına yükleyebilir puttygenve .ppk dosyalarını normal ssh stili anahtar dosyalarına (PEM dosyaları adı verilir - dosya adında bir .pem almasalar bile) dönüştürmek için kullanabilirsiniz.

puttygen id_dsa.ppk -O private-openssh -o id_dsa

NOT:puttygen ssh tarzı PEM dosyalarını tekrar içine almak için de kullanabilirsiniz putty.

PuTTY'nin yazarı sadelik için seçti, bu nedenle macun / ssh 2 anahtar kimlik doğrulaması tarafından kullanılan temel güvenliği oluşturan genel ve özel anahtarlar, tek bir özel .ppk dosyasında saklanır. Genellikle bu anahtarlar ssh ile 2 ayrı dosya olarak tutulur.

Linux'ta, anahtar dosyalar genellikle, .ssh dizininde tutulur.

Buradaki dönüştürme işlemine genel bir bakış var: Başlıktaki bu Yığın Taşması sorusunda: PEM'i PPK dosya formatına dönüştürün .

Macun yazarı, puttykullanım kılavuzunda .ppk dosyalarını kullanmanın gerekçesini de tartışıyor . Bununla ilgili bilgileri bölüm 8.2.12'de okuyabilirsiniz.


Linux'umun eski ve hassas SSH-1'e sahip olduğunu mu kastediyorsunuz (macun kullanmazsam)? Ve uygun mu? SSH-1'in güvenlik açıkları wikipedia'da
YarLinux

Bunu nereden aldığından emin değilim. Hayır, iyi olmalısın. Hangi Linux sürümünü kullanıyorsunuz? Hangi Linux Distro kullanıyorsunuz? Linux sürümünü öğrenmek için bu komutu çalıştırın: uname -a. Linux dağıtıma: lsb_release -a.
slm

Ubuntu 12.04 kullanıyorum. SSH-2'nin farklı formatları olduğunu mu kastediyorsunuz? Ben sadece "ssh" paket ve komut adı ile karıştı.
YarLinux

Anlıyorum. Bahsettiğiniz ssh aracı genellikle openssh adında bir paketin parçasıdır. Bu yazılımın sürümü, bahsettiğiniz SSH-1 ve SSH-2 ile ilgisi yoktur. Bu terminoloji (SSH-1 ve SSH-2) birlikte çalıştığınız anahtar dosya türüne atıfta bulunuyor. Openssh'ın son sürümlerini kullandığınız sürece bu dosya türü sizin için sorun olmamalıdır.
slm

Üç farklı anahtar formatı var mı? OpenSSH, ssh.com ve PuTTY?
YarLinux,

12

Her ikisi de deposunun "SSH protokolü sürüm 2 RSA anahtar çifti" edilebilir ve dönüştürülebilir birbirinin; ancak, gerçek saklanmış format farkı ile ilgili olarak:

dan https://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/key-formats-natively.html

PuTTY anahtar formatının avantajları:

  • Anahtarın genel yarısı düz metin içinde saklanır . OpenSSH'nin özel anahtar formatı tüm anahtar dosyasını şifreler , böylece müşteri anahtarla herhangi bir şey yapmadan önce sizden parolanızı istemek zorunda kalır. Hatta önce Özellikle, sahip bu araçlar parolanıza istemeye teklif kimlik doğrulaması için sunucuya genel anahtarı. PuTTY'nin biçimi, genel anahtarı düz metin olarak saklar ve yalnızca özel yarısını şifreler; bu, genel anahtarı otomatik olarak sunucuya gönderebileceği ve sunucunun bu anahtarla kimlik doğrulamasını kabul etmeye istekli olup olmadığını belirleyeceği anlamına gelir; Gerçekten gerekiyorsa parola.

    Bence OpenSSH.pubÖzel anahtar dosyası ile birlikte görünüyorsa, bu amaç için dosya, ancak bu kolaylık kadar sık ​​sık bir karışıklık kaynağıdır (İnsanların özel bir anahtar dosyasını değiştirdiğini ve .pubonunla birlikte eski bir tarih bıraktığını gördüm. Elde edilen SSH kimlik doğrulama işlemi ile karıştı!).
  • Anahtar tamamen kurcalamaya karşı korumalıdır. Genel anahtarı düz metin olarak saklayan anahtar biçimleri, anahtarın genel yarısının, doktorlu anahtarla yapılan imzaların özel yarıyla ilgili bilgi sızdırmasını sağlayacak şekilde değiştirildiği bir kurcalama saldırısına karşı savunmasız olabilir. Bu sebeple, PuTTY'nin anahtar formatı bir MAC (Mesaj Doğrulama Kodu) içerir, şifreyi kapatır ve anahtarın genel ve özel yarısını kapsar.Bu nedenle, genel anahtarın düz metin olarak kullanılmasının rahatlığını sağlarız ancak aynı zamanda herhangi bir başka anahtar biçiminde bulunduğuna inanmadığım bir güvenlik ve rahatlık kombinasyonu vererek kurcalama saldırısı girişimlerini anında tespit ederiz. Bir yan fayda olarak, MAC ayrıca birinin anahtarını değiştirmesi ve yorumların değişmesi durumunda olası olabilecek herhangi bir yaramazlığı önleyen anahtarın yorumlarını da kapsar.

    Açık anahtar şifreli tutmanın OpenSSH yaklaşımı kudretiniayrıca bu tür saldırılara karşı bir miktar güvenlik sağlar, ancak uygun koruma sağladığı açık değildir: gizlilik için tasarlanmış şifreleme, şifreli verilerin saldırgan tarafından yararlı bir şekilde değiştirilebileceği yöntemlerden çıkar. Gerçek bütünlük koruması için, tam olarak bunu yapmak için tasarlanmış olan gerçek bir MAC istersiniz.

[ vurgu eklendi]

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.