बस गुंबद के जवाब को बेहतर बनाने के लिए जो एल्गोरिदम की पुरानी सूची खोजने के लिए इसमें एक मृत लिंक है।
पहले एल्गोरिदम की एक सूची पर निर्णय लें। पुरानी सूची खोजने के लिए, उपयोग करें ssh -vv
:
ssh -vv somehost
और "होस्ट कुंजी एल्गोरिदम: ..." जैसी 2 पंक्तियों के लिए देखें, जहां पहले सर्वर की पेशकश प्रतीत होती है, और दूसरा क्लाइंट का है। या उन 2 लाइनों को स्वचालित रूप से बाहर निकालने के लिए, इसे आज़माएँ (और हिट ctrl + d से बाहर निकलने के लिए):
ssh -vv somehost 2>&1 | grep "host key algorithms:"
अब इसे नीचे फ़िल्टर करें ... आपको लंबे समय तक अप्रचलित रहने के बाद सभी dss / dsa वाले को निकाल देना चाहिए, और आप ecdsa (जैसा मैं करते हैं) निकालना चाहते हैं, इसलिए उदाहरण के लिए यदि आपके पास था:
ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
आपको समाप्त करना चाहिए:
ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
अब अपने विन्यास को संपादित करें। अपने स्वयं के विन्यास के लिए:
vim ~/.ssh/config
सिस्टम के लिए विस्तृत विन्यास:
sudo vim /etc/ssh/ssh_config
या तो विश्व स्तर पर एक नई पंक्ति जोड़ें:
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
या विशिष्ट होस्ट के लिए (सर्वर वाइड कॉन्फ़िगरेशन के लिए आदर्श नहीं):
Host somehost
HostKeyAlgorithms ssh-ed25519-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
मेरे द्वारा दर्ज की गई सूची के बजाय ssh -vv
, "होस्ट कुंजी एल्गोरिदम:" भाग को शामिल न करते हुए, आउटपुट से प्राप्त सूची को चिपकाएँ ।