"दूरस्थ होस्ट पहचान बदल गई है" चेतावनी को मुद्रित नहीं करने के लिए बल ssh


23

क्या इस तरह से ssh प्रिंटिंग चेतावनी संदेशों से बचने का कोई तरीका है?

"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",
"@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\r",
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\r",

हालांकि दूरस्थ मेजबान पहचान बदल गई है, लेकिन मुझे पता है कि यह ठीक है और बस इस चेतावनी से छुटकारा पाना चाहता हूं।

जवाबों:


16

चार तरीके:

प्रश्नों के उत्तर के बिना, नई होस्ट कुंजी के साथ सिस्टम में एक बार कनेक्ट करने के लिए, निम्नलिखित विकल्प से जुड़ें:

ssh -q -o "StrictHostKeyChecking no" this.one.host.name

सभी प्रणालियों के लिए चेतावनी को स्थायी रूप से हटाने के लिए , ~/.ssh/configनिम्नलिखित पंक्तियों को जोड़ने के लिए अपनी फ़ाइल को संपादित करें :

Host *
StrictHostKeyChecking no

इस एक सर्वर के लिए सभी चेतावनियों को स्थायी रूप से हटाने के लिए , अपनी ~/.ssh/configफ़ाइल को संपादित करें और निम्नलिखित लाइनें जोड़ें:

Host this.one.hostname
StrictHostKeyChecking no  

इस एक सर्वर के लिए एक परिवर्तन के लिए चेतावनी को हटाने के लिए, उस सर्वर के लिए होस्ट कुंजी को हटा दें ~/.ssh/known_hosts। अगली बार जब आप कनेक्ट करते हैं, तो नई होस्ट कुंजी जोड़ी जाएगी।


दूसरे विकल्प में उस सर्वर साइड में कॉन्फ़िगरेशन होना चाहिए जिसे हम राइट से कनेक्ट कर रहे हैं?
coffeMug

नहीं, यह आपका अपना है $HOME/.ssh/configजो दूसरे और तीसरे विकल्प में मायने रखता है।
जेनी डी

यह अभी भी मेरे लिए एक चेतावनी छापता है (हालांकि यह कनेक्शन की अनुमति देता है)।
माइकल मिओर

24

इसे अपने ~ / .ssh / config में जोड़ें:

Host 10.*                            # use your own pattern here, eg. *.example.com, example.*.com
  StrictHostKeyChecking   no         # turn off the HostKey check                                                               
  LogLevel                ERROR      # keep it from printing to STDOUT
  UserKnownHostsFile      /dev/null  # (optional) add the host automatically to a black hole, otherwise it would be added to ~/.ssh/known_hosts and show you a warning/message at the top of your session. You may want it added to known_hosts if your shell uses `ssh` autocompletion, such as fish. 

3
मॉड यूपी - केवल एक ही जिसने वास्तव में सवाल का जवाब दिया - यह केवल काम नहीं करने का एकमात्र उत्तर था, लेकिन उत्तर दें।
ब्रैड

वूप्स, ऐसा प्रतीत होता है कि फिश शेल के उपयोगकर्ता पहले से जुड़े मेजबानों के लिए अच्छा ssh ऑटोकम्प्लीशन का उपयोग नहीं कर पाएंगे यदि वे UserKnownHostFile को / dev / null में डालते हैं। मछली उपयोगकर्ताओं और संभवतः सभी को यह निर्धारित नहीं करना चाहिए।
एलिजा लिन

आप बेहतर तरीके से उन विकल्पों को डंप करने के बजाय एक ssh0स्क्रिप्ट / उर्फ ​​/ फ़ंक्शन बनाते हैं ssh -o UserKnowHostsFile=/dev/null -o LogLevel=ERRORऔर इसका उपयोग करते हैं ~/.ssh/config। आप उनके बारे में भूल सकते हैं और फिर आश्चर्य कर सकते हैं कि जब आप उन्हें काम करना चाहते थे तो चेक काम क्यों नहीं करते थे।
चाचा बिली

20

आप उस होस्ट से बाहर के लिए लाइन ले सकते हैं ~/.ssh/known_host(हर होस्ट की वहां प्रविष्टि के रूप में एक लाइन है)।

वैकल्पिक उपयोग करने के लिए है:

ssh -q -o "StrictHostKeyChecking no" ....

बस का उपयोग कर -qहोता है sshचुपचाप असफल।


9

डिफ़ॉल्ट रूप से होस्ट कुंजी को जोड़ने के लिए $ HOME / .sh / ज्ञात_होस्ट कभी-कभी वांछनीय होता है।

-o UserKnownHostsFile=/dev/nullइसके अलावा -qऔर -o StrictHostKeyChecking=noज्ञात रखने के लिए उपयोग करें । यहाँ एक उदाहरण है:

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q user@scripts.local

2

एक वैकल्पिक सुझाव यह है कि होस्ट कुंजी क्यों बदल रही है, यह पहचानें और ऐसा करने से रोकें।

एक उदाहरण के रूप में: यदि आप कंटेनरों में या एक प्रावधान प्रणाली के माध्यम से मेजबानों का निर्माण कर रहे हैं, तो सुनिश्चित करें कि ये लगातार प्रति ज्ञात समान होस्ट कुंजी का उपयोग करते हैं।

मैं अच्छी तरह से जानता हूं कि यह हमेशा संभव नहीं है, और मेजबानों को आपके नियंत्रण के दायरे से बाहर किया जा सकता है, लेकिन उन होस्टकी चेतावनियां एक कारण के लिए हैं और महत्वपूर्ण हैं। अपवाद गणना को कम करना एक अच्छी बात है।

अन्यथा, मैं के लिए मतदान StrictHostKeyChecking कोई अपने में ~/.ssh/config ही प्रश्न में विशिष्ट मेजबान के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.