SSH ana makine anahtarlarını yeniden oluşturmaya çalışırken `` ana makine anahtarı yüklenemedi '' hatası


14

Ssh-sunucu ana bilgisayar anahtarlarını yeniden oluşturmaya çalışıyorum.

Bunu yapmanın en az iki yolu var:

  • Dpkg-reconfigure ile

    dpkg-reconfigure openssh-server
    

    Bu iyi çalışıyor, ama o zaman anahtar uzunluğunu veremem. RSA anahtarı için örneğin 4096 istiyorum.

  • Ssh-keygen ile manuel olarak

    sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa
    

    Bu bana anahtarları yeniden oluşturur, ancak sunucuyu yeniden başlattıktan sonra aşağıdaki hata iletisini alıyorum :

    could not load host key: /etc/ssh/ssh_host_rsa_key
    

    bu yüzden orada sshd_config dosyasını kontrol ettim:

    HostKey /etc/ssh/ssh_host_rsa_key
    

    mükemmel eşleşir. Bu yüzden sahibini ve tüm anahtarlarımın haklarını kontrol ettim

    -rw------- 1 root root 3326 Mär 24 08:57 ssh_host_rsa_key
    

    Tüm anahtarları kaldırıp yeniden oluşturduğumda dpkg-reconfigure openssh-server, anahtarlar daha küçüktür ve yukarıdaki gibi aynı haklara sahiptir.

Soru:dpkg-reconfigure RSA için 4096 keylengh ile nasıl kullanabilirim ?


Sorun hakkında daha fazla bilgi için lütfen sshdkomut satırından ( sudo sshd -d) hata ayıklama modunda çalıştırın ve çıktıyı gönderin.
David Foerster

@DavidFoerster Bu iyi bir öneri gibi görünüyor. Anahtarlarımı geçici olarak taşıyarak, parolalarla yeni anahtarlar oluşturarak, durdurup yeniden başlatarak sorunu yeniden oluşturmayı denedim ... OP'nin hata mesajını almıyorum. Bu livewire@za20:/etc/ssh$ sudo sshd -dçıktı almak sonucudur sshd re-exec requires execution with an absolute pathAksi takdirde benim cevap bir örnek dahil olurdu :(
LiveWireBT

Üzgünüm, öyle olmalıydı sudo /usr/sbin/sshd -d. Aldığınız hata kelimenin tam anlamıyla (çok açık olmasa da) kastedilmektedir.
David Foerster

Kabul edilen cevap sorunu dpkg-reconfigureçözse de, hala ilk gönderideki son soruyu merak ediyorum: 4096 anahtar uzunluğunu nasıl kullanabilirim ? Bu bilgiyi içeren bir yerde bir yapılandırma dosyası var mı? Debconf veritabanlarında (in /var/cache/debconf/) etrafına baktım ama keylength gibi görünen bir şey bulamadım.
ph0t0nix

Yanıtlar:


8
sudo ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N 'myverylongpasswordhere' -b 4096 -t rsa

anahtarları yeniden yaratır. ama sunucuyu yeniden başlattıktan sonra

could not load host key: /etc/ssh/ssh_host_rsa_key

Parola içeren bir ana bilgisayar anahtarı oluşturursunuz. Bu ana makine anahtarının kilidini açmak için herhangi bir özelleştirme var mı? Değilse, o zaman beklenen şey olduğunu düşünüyorum: hizmeti yöneten komut dosyası başlar, hostkey yüklemeye çalışır ve başarısız olur. Bildiğim kadarıyla parolalarla korunan ana bilgisayar anahtarları oluşturmamalısınız.

SSH sunucunuzu sertleştirmek istiyorsanız, https://stribika.github.io/2015/01/04/secure-secure-shell.html bu belgede ana bilgisayar anahtarını oluşturmak için kullanılan komutu okumanızı öneririz :

ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key

Ancak herhangi bir değişiklik yapmadan önce belgenin tamamını okumalısınız.


İşler. sadece myverylongpassword'u kaldırmak. Bu arada: okumak için gerçekten güzel bir makale. aslında openssh benim durumumda ubuntu-repro'dan geliyor ve KexAlgorithms curve25519-sha256 @ libssh.org, diffie-hellman-grup-exchange-sha256'yı desteklemedi
Emil Sommer

23

Yukarıdaki cevapların hiçbiri benim için işe yaramadı. Ubuntu sistemimi aşağıdakileri yaparak düzelttim:

/usr/bin/ssh-keygen -A

2
BU. Bu, "-A" bayrağı hakkında ssh-keygen için manpage tarafından onaylanan gerçek cevaptır: Ana bilgisayar anahtarlarının bulunmadığı anahtar türlerinin her biri için (rsa1, rsa, dsa, ecdsa ve ed25519), varsayılan anahtar dosyası yoluna sahip ana bilgisayar anahtarları, boş bir parola, anahtar türü için varsayılan bitler ve varsayılan yorum. Bu, sistem yönetimi komut dosyaları tarafından yeni ana bilgisayar anahtarları oluşturmak için kullanılır.
BoomShadow

1

Basitçe çalıştırın:

ssh-keygen -t rsa -b 4096

ssh-keygen bir SSH anahtarı oluşturur.

  • -t oluşturulacak anahtarın türünü belirtir
  • -b anahtardaki bit sayısını belirtir.

Daha fazla bilgi için bu sayfaya bakın .


cevap bu değil. lütfen soruma bakın, bunu zaten yaptım, sonuçta hostkey yüklenemedi.
Emil Sommer

3
@EmilSommer Hayır, cevap tam olarak bu, sadece bir açıklama eksik (neden hata mesajını alıyorsunuz ve ne anlama geliyor).
LiveWireBT
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.