ssh - मैं कमांड लाइन से एक नए होस्ट फिंगरप्रिंट को स्वीकार करने के लिए कैसे शर्त्त कर सकता हूं?




arguments command-line-arguments (2)

मुझे मानक मिल रहा है

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is

त्रुटि संदेश। हालांकि, सिस्टम (ऐप वर्क्स) जो कमांड (sftp मुझे लगता है कि, यह नहीं है) को स्वचालित करता है और मैं तीसरे पक्ष के विक्रेता से जाँच करने के बाद भी, कि यह एक वैध परिवर्तन है, के बाद भी नई कुंजी को आसानी से स्वीकार नहीं कर सकता है। मैं एक नई शेल स्क्रिप्ट जो मैं उसी सिस्टम (और उपयोगकर्ता) से निष्पादित कर सकता हूँ जोड़ सकते हैं, लेकिन ऐसा कोई आदेश या कमांड लाइन तर्क नहीं है जो कि कुंजी को स्वीकार करने के लिए ssh को बताएगा मुझे मैन पेज या Google पर कुछ भी नहीं मिल सकता है निश्चित रूप से यह संभव है?

https://code.i-harness.com


यहां कुंजी दर्ज करने के लिए अपने ग्राहक को बताए जाने का तरीका बताया गया है। एक बेहतर तरीका यह है कि यह अग्रिम में चाबी देना है, जिसे मैंने दूसरे पैराग्राफ में वर्णित किया है। यह यूनिक्स पर एक ओपनएसएसएच क्लाइंट के लिए है, इसलिए मुझे आशा है कि यह आपकी स्थिति के लिए प्रासंगिक है।

आप StrictHostKeyChecking पैरामीटर सेट कर सकते हैं। इसमें विकल्प हैं yes , no , और ask डिफ़ॉल्ट ask इसे सिस्टम व्यापक सेट करने के लिए, /etc/ssh/ssh_config संपादित करें; इसे सिर्फ आपके लिए सेट करें, संपादित करें ~/.ssh/config ; और इसे एक कमांड के लिए सेट करने के लिए, कमांड लाइन पर विकल्प दें, उदा

ssh -o "StrictHostKeyChecking no" hostname

एक वैकल्पिक दृष्टिकोण यदि आपके पास रिमोट सिस्टम के लिए मेजबान कुंजियों तक पहुंच है, तो उन्हें अपने known_hosts फ़ाइल में अग्रिम रूप से जोड़ना है, ताकि एसएसएच को उनके बारे में पता हो और सवाल पूछने से नहीं होगा यदि यह संभव है, तो यह सुरक्षा की दृष्टि से बेहतर है। सब के बाद, चेतावनी सही हो सकती है और आप वास्तव में एक आदमी-इन-द-मध्य हमले के अधीन हो सकते हैं

उदाहरण के लिए, यहां एक स्क्रिप्ट है जो कि कुंजी को पुनर्प्राप्त करेगा और इसे अपने ज्ञात_होस्ट फ़ाइल में जोड़ देगा:

ssh -o 'StrictHostKeyChecking no' hostname cat /etc/ssh/ssh_host_dsa_key.pub >>~/.ssh/known_hosts

निम्न फ़ाइल जोड़ें

~/.ssh/config

और इस फाइल में सामग्री के रूप में

StrictHostKeyChecking no

यह सेटिंग यह सुनिश्चित करेगी कि ssh फिंगरप्रिंट चेक के लिए कभी भी पूछेगा नहीं।





sftp