SSH होस्ट कुंजियों को फिर से बनाने की कोशिश में त्रुटि `होस्ट कुंजी को लोड नहीं कर सका


13

मैं ssh- सर्वर होस्ट कुंजी को फिर से बनाने की कोशिश कर रहा हूं।

मेरे पास ऐसा करने के लिए कम से कम दो तरीके हैं:

  • Dpkg-reconfigure के साथ

    dpkg-reconfigure openssh-server
    

    यह ठीक काम करता है, लेकिन मैं तब चाबी की लंबाई नहीं दे सकता। मैं आरएसए कुंजी के लिए उदाहरण 4096 चाहता हूं।

  • मैन्युअल रूप से ssh-keygen के साथ

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

    यह मुझे कुंजियों को फिर से बनाता है, लेकिन सर्वर को पुनरारंभ करने के बाद, मुझे निम्न त्रुटि संदेश प्राप्त होता है :

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

    इसलिए मैंने sshd_config फ़ाइल की जाँच की कि वहाँ क्या है:

    HostKey /etc/ssh/ssh_host_rsa_key
    

    पूरी तरह से मेल खाता है। इसलिए, मैंने अपनी सभी कुंजियों के स्वामी और अधिकारों की जाँच की

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

    जब मैं सभी कुंजियों को हटाता हूं और उन्हें फिर से बनाता हूं dpkg-reconfigure openssh-server, तो चाबियाँ छोटी होती हैं और ऊपर की तरह समान फ़ाइल-अधिकार होते हैं।

प्रश्न:dpkg-reconfigure आरएसए के लिए मैं कीलेनघ 4096 के साथ कैसे उपयोग कर सकता हूं ?


कृपया समस्या के बारे में अधिक जानकारी के लिए sshdकमांड लाइन ( sudo sshd -d) से डिबग मोड में रन करें और आउटपुट पोस्ट करें।
डेविड फॉस्टर

@DavidFoerster यह एक अच्छे सुझाव की तरह लगता है। मैंने अपनी कुंजियों को अस्थायी रूप से स्थानांतरित करके, पासवर्ड के साथ नई कुंजी बनाकर, रोकना और पुनः आरंभ करके समस्या को फिर से बनाने की कोशिश की ... मुझे ओपी का त्रुटि संदेश नहीं मिला। यह परिणाम है कि मुझे livewire@za20:/etc/ssh$ sudo sshd -dआउटपुट मिलता है sshd re-exec requires execution with an absolute pathअन्यथा मैंने अपने उत्तर में एक उदाहरण शामिल किया होगा :(
LiveWireBT

क्षमा करें, यह होना चाहिए था sudo /usr/sbin/sshd -d। आपके द्वारा प्राप्त की गई त्रुटि का शाब्दिक अर्थ है (हालांकि बिल्कुल स्पष्ट नहीं)।
डेविड फ़ॉस्टर

भले ही स्वीकृत उत्तर समस्या का हल करता है, मैं अभी भी पहली पोस्ट में अंतिम प्रश्न के बारे में सोच रहा हूं: मैं dpkg-reconfigure4096 के साथ कैसे उपयोग कर सकता हूं ? वहाँ एक config फाइल कहीं है जिसमें यह जानकारी है? मैंने डिबेंकफ़ डेटाबेस (इन /var/cache/debconf/) में चारों ओर देखा, लेकिन ऐसा कुछ भी नहीं मिला, जो कि कीलो की तरह दिखता हो।
ph0t0nix

जवाबों:


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

मुझे चाबी देता है। लेकिन, सर्वर को पुनरारंभ करने के बाद, मैं पुनः प्राप्त करता हूं

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

आप एक पासवर्ड के साथ एक hostkey बनाते हैं। क्या उस होस्टेक को अनलॉक करने के लिए कोई अनुकूलन है? यदि नहीं, तो मुझे लगता है कि वह है जो अपेक्षित है: सेवा का प्रबंधन करने वाली स्क्रिप्ट होस्ट को लोड करने का प्रयास करती है, और विफल हो जाती है। जहाँ तक मुझे पता है कि आपको पासवर्ड से संरक्षित hostkeys नहीं बनाने चाहिए।

यदि आप अपने SSH सर्वर को सख्त बनाने में रुचि रखते हैं, तो मैं https://stribika.github.io/2015/01/04/secure-secure-shell.html पढ़ने की सलाह देता हूं, जो उस दस्तावेज़ में होस्टकी बनाने के लिए उपयोग की जाने वाली कमांड है:

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

लेकिन आपको कोई भी बदलाव करने से पहले पूरे दस्तावेज को पढ़ना चाहिए।


काम करता है। सिर्फ myverylongpasswordhere को हटा रहा है। वैसे: वास्तव में अच्छा लेख पढ़ने के लिए। वास्तव में अधिभारित मेरे मामले में ubuntu-रेप्रो से आता है, और KexAlgorithms curve25519-SHA256 @ libssh.org, Diffie-Hellman-समूह-विनिमय-SHA256 का समर्थन नहीं किया
एमिल सॉमर

20

ऊपर दिए गए किसी भी उत्तर ने मेरे लिए काम नहीं किया। मैंने निम्नलिखित करके अपना ubuntu सिस्टम ठीक किया:

/usr/bin/ssh-keygen -A

1
यह। यह वास्तविक उत्तर है, जैसा कि "-ए" ध्वज के बारे में ssh-keygen के लिए मैनपेज द्वारा पुष्टि की गई है: प्रत्येक कुंजी प्रकार (rsa1, rsa, dsa, ecdsa और ed25519) के लिए, जिसके लिए होस्ट कुंजी मौजूद नहीं है, जेनरेट करें डिफ़ॉल्ट कुंजी फ़ाइल पथ के साथ होस्ट कुंजी, एक खाली पासफ़्रेज़, कुंजी प्रकार के लिए डिफ़ॉल्ट बिट्स, और डिफ़ॉल्ट टिप्पणी। इसका उपयोग सिस्टम प्रशासन स्क्रिप्ट द्वारा नई होस्ट कुंजी बनाने के लिए किया जाता है।
बूमशादो

1

बस चलाते हैं:

ssh-keygen -t rsa -b 4096

ssh-keygen एक SSH कुंजी बनाता है।

  • -t बनाने के लिए कुंजी का प्रकार निर्दिष्ट करता है
  • -b कुंजी में बिट्स की संख्या निर्दिष्ट करता है।

देखें इस पेज में अधिक जानकारी के लिए।


इसका उत्तर नहीं है। कृपया मेरे प्रश्न को देखें, मैंने पहले ही यह कर लिया था, इस पुनर्स्थापना के साथ कि होस्टेक को लोड नहीं किया जा सकता है।
एमिल सोमर

3
@EmilSommer नहीं है, वास्तव में है इस सवाल का जवाब है, बस एक विवरण (क्यों आपको त्रुटि संदेश और क्या इसका मतलब है कि मिल) गायब है।
LiveWireBT
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.