2012-08-06 7 views
19

आप इस प्रश्न को कैसे बाईपास करते हैं या एक झंडा जोड़ते हैं जो ऑटो इसका उत्तर देता है?बाईपास रुइन्क प्रॉम्प्ट "क्या आप वाकई कनेक्ट करना जारी रखना चाहते हैं"

क्योंकि मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं, और यह प्रश्न rsync की प्रक्रिया को रोकता रहता है क्योंकि संकेत दिए जाने पर स्क्रिप्ट में इसका उत्तर देने का कोई तरीका नहीं है।

उत्तर

31

StrictHostKeyChecking विकल्प no पर या तो कॉन्फ़िगर फ़ाइल में या -o के माध्यम से सेट करें। rsync की

उपयोग e विकल्प ssh करने के लिए विकल्पों पारित करने के लिए:

-e "ssh -o StrictHostKeyChecking=no" 
+1

धन्यवाद! मेरा मामला: सेमफोरसीआई इस चेक को अक्षम किए बिना एक प्रॉम्प्ट पर लटकता है। – Dmitriy

2

तो, मैं असुरक्षित जवाब है कि work-- का एक बहुत खोजने गया था, लेकिन बेहतर तरीका और अधिक काम नहीं है, इसलिए मैं वे उन पदों की खोज कर रहे हैं जो एसएसएच संबंधित चीजों को करने के कम सुरक्षित तरीके की सलाह देते हैं, जैसे rsync। मैं एक Git रेपो क्लोनिंग की अज्ञात मेजबान मैनुअल बातचीत बायपास करने के लिए एक सांसारिक रास्ता के लिए खोज कर दिया गया था जैसा कि नीचे दिखाया लेकिन यह रूप में उल्लेख किया rsync और अन्य प्रौद्योगिकियों के लिए काम करता है:

[email protected]:~$ git clone [email protected]:viperks/viperks-api.git 
Cloning into 'viperks-api'... 
The authenticity of host 'bitbucket.org (104.192.143.3)' can't be established. 
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40. 
Are you sure you want to continue connecting (yes/no)? 

नोट RSA कुंजी फ़िंगरप्रिंट ...

तो, यह एक SSH बात है, यह, SSH पर Git के लिए काम करेंगे और सिर्फ SSH सामान्य रूप में संबंधित बातें ...

[email protected]:~$ nmap bitbucket.org --script ssh-hostkey 

Starting Nmap 7.01 (https://nmap.org) at 2016-10-05 10:21 EDT 
Nmap scan report for bitbucket.org (104.192.143.3) 
Host is up (0.032s latency). 
Other addresses for bitbucket.org (not scanned): 104.192.143.2 104.192.143.1 2401:1d80:1010::150 
Not shown: 997 filtered ports 
PORT STATE SERVICE 
22/tcp open ssh 
| ssh-hostkey: 
| 1024 35:ee:d7:b8:ef:d7:79:e2:c6:43:9e:ab:40:6f:50:74 (DSA) 
|_ 2048 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40 (RSA) 
80/tcp open http 
443/tcp open https 

Nmap done: 1 IP address (1 host up) scanned in 42.42 seconds 

सबसे पहले अपने दैनिक चालक पर nmap स्थापित करें। एनएमएपी कुछ चीजों के लिए बहुत उपयोगी है, जैसे खुले बंदरगाहों का पता लगाना और यह - एसएसएच फिंगरप्रिंट मैन्युअल रूप से सत्यापित करना। लेकिन, हम जो कर रहे हैं उस पर वापस जाएं।

अच्छा। मैं या तो कई जगहों और मशीनों पर समझौता कर रहा हूं जिन्हें मैंने चेक किया है - या जो कुछ भी हो रहा है, उसके बारे में सब कुछ अधिक व्यावहारिक स्पष्टीकरण है।

कि 'फिंगरप्रिंट' एक ही फिंगरप्रिंट में हल होने वाली एक से अधिक स्ट्रिंग के जोखिम पर हमारी मानव सुविधा के लिए एक तरफ एल्गोरिदम के साथ एक स्ट्रिंग छोटा है। ऐसा होता है, उन्हें टकराव कहा जाता है।

भले ही, मूल स्ट्रिंग पर वापस जो हम नीचे संदर्भ में देख सकते हैं।

[email protected]:~$ ssh-keyscan bitbucket.org 
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128 
no hostkey alg 
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-129 
bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw== 
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-123 
no hostkey alg 

तो, समय से पहले, हमारे पास मूल होस्ट से पहचान का एक रूप मांगने का एक तरीका है।

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

अब एक तरीका है कि एक मेजबान प्रामाणिकता के बारे में पूछ रोकता में कि स्ट्रिंग का उपयोग करना ...

इस मामले में known_hosts फ़ाइल प्लेन टेक्स्ट प्रविष्टियों का उपयोग नहीं करता है। जब आप उन्हें देखते हैं तो आपको हैश प्रविष्टियां पता चलेगी, वे xyz.com या 123.45.67.89 के बजाय यादृच्छिक वर्णों के साथ हैंश की तरह दिखते हैं।

[email protected]:~$ ssh-keyscan -t rsa -H bitbucket.org 
# bitbucket.org SSH-2.0-conker_1.0.257-ce87fba app-128 
|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw== 

पहली टिप्पणी लाइन infuriatingly up-- से पता चलता है, लेकिन आप ">" या ">>" सम्मेलन के माध्यम से एक सरल रीडायरेक्ट के साथ इसे से छुटकारा पाने के कर सकते हैं।

जैसा कि मैंने "होस्ट" और ट्रस्ट की पहचान करने के लिए उपयोग किए जाने वाले अनचाहे डेटा को प्राप्त करने के लिए अपना सर्वश्रेष्ठ प्रयास किया है, मैं अपनी पहचान/mys/ss निर्देशिका में इस ज्ञात_होस्ट फ़ाइल में यह पहचान जोड़ूंगा। चूंकि इसे अब एक ज्ञात मेजबान के रूप में पहचाना जाएगा, इसलिए जब आप एक नौजवान थे तो मुझे ऊपर उल्लिखित संकेत नहीं मिलेगा।

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

#!/bin/bash 
cp ~/.ssh/known_hosts ~/.ssh/known_hosts.old && echo "|1|yr6p7i8doyLhDtrrnWDk7m9QVXk=|LuKNg9gypeDhfRo/AvLTAlxnyQw= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==" >> ~/.ssh/known_hosts 

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

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

गलत ssh -oStrictHostKeyChecking = कोई होस्ट नाम [आदेश]

गलत ssh-KeyScan आयकर आरएसए एच होस्टनाम >> ~/.ssh/known_hosts

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