सवाल LFTp प्रमाणपत्र सत्यापन त्रुटि से कैसे बचें?


मैं अपना पाने की कोशिश कर रहा हूं पेलिकन ब्लॉग काम कर रहे। यह वास्तविक ब्लॉग को सर्वर पर स्थानांतरित करने के लिए lftp का उपयोग करता है, लेकिन मुझे हमेशा एक त्रुटि मिलती है:

mirror: Fatal error: Certificate verification: subjectAltName does not match ‘blogname.com’

मुझे लगता है कि एलएफटीपी एसएसएल की जांच कर रहा है और पेलिकन का त्वरित सेटअप सिर्फ यह शामिल करना भूल गया कि मेरे पास मेरे एफ़टीपी पर एसएसएल नहीं है।


यह पेलिकन के मेकफ़ाइल में कोड है:

ftp_upload: $(OUTPUTDIR)/index.html
lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"

जो टर्मिनल में प्रस्तुत करता है:

    lftp ftp://username@blogname.com -e "mirror -R /Volumes/HD/Users/me/Test/output /myblog_directory ; quit"

जो मैंने अभी तक प्रबंधित किया है, मेकफ़ाइल को बदलकर एसएसएल जांच को अस्वीकार कर रहा है:

lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "set ftp:ssl-allow no" "mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"

मेरे गलत कार्यान्वयन के कारण मैं सही ढंग से लॉग इन हूं (lftp username@myblog.com:~>) लेकिन एक लाइन सुविधा अब और काम नहीं करती है और मुझे हाथ से दर्पण कमांड दर्ज करना होगा:

mirror -R /Volumes/HD/Users/me/Test/output/ /myblog_directory

यह त्रुटि और टाइमआउट के बिना काम करता है। सवाल यह है कि एक लाइनर के साथ ऐसा कैसे करें।


इसके अलावा मैंने कोशिश की:

  • set ssl:verify-certificate/ftp.myblog.com no
  • यह चाल lftp में प्रमाण पत्र सत्यापन अक्षम करने के लिए:

    $ बिल्ली ~ / .lftp / आरसी एसएसएल सेट करें: सत्यापन-प्रमाणपत्र संख्या

हालांकि, ऐसा लगता है कि मेरी lftp निर्देशिका में कोई "आरसी" फ़ोल्डर नहीं है - इसलिए इस प्रॉम्प्ट को काम करने का कोई मौका नहीं है।


37
2017-07-27 20:56


मूल


~/.lftprc  एक फाइल है - Mausy5043


जवाब:


वहाँ से मैनपेज:

-सी आदेश
  दिए गए आदेशों का निष्पादन करें और बाहर निकलें। कमांड को अर्धविराम से अलग किया जा सकता है (;), तथा (&&) या या (||)। खोल में उचित रूप से आदेश तर्क उद्धृत करना याद रखें। इस विकल्प को अन्य तर्कों के बिना अकेले इस्तेमाल किया जाना चाहिए।

तो आप कमांड को अलग-अलग तर्क के रूप में निर्दिष्ट करना चाहते हैं, अर्धविराम से अलग:

lftp ftp://$(FTP_USER)@$(FTP_HOST) -e "set ftp:ssl-allow no; mirror -R $(OUTPUTDIR) $(FTP_TARGET_DIR) ; quit"

आप वास्तव में छोड़ सकते हैं quit आदेश और उपयोग करें -c के बजाय -e


34
2017-07-27 21:00



एक दम बढ़िया। अनेक अनेक धन्यवाद। मैंने आशा की थी कि जो कोई मुझसे ज्यादा अनुभवी है वह तुरंत मेरी विफलता को खोजेगा (- मैंने आपके-सी सुझाव को छोड़ने का भी प्रयास किया, लेकिन यह मेरे लिए काम नहीं करता। मैं वैसे भी खुश हूं)। - pattulus


मेरे पास एक समान समस्या थी, हालांकि मेरे lftp में एसएसएल समर्थन संकलित है (फेडोरा आरपीएम)। ssl:verify-certificate false मेरे लिए चाल है।


29
2017-11-29 22:07



इस पर आधारित, डालने set ssl:verify-certificate false मेरे में ~/.lftprc मेरे लिए समस्या हल हो गई। - Nicolas Raoul
... हालांकि यह एसएसएल का उपयोग करने के बिंदु को हरा देता है, आपका एलएफटीपी अब जो भी प्रमाण पत्र प्रस्तुत करता है उसे खुशी से स्वीकार करता है, जिससे आप एम 2 एम हमलों के प्रति संवेदनशील हो जाते हैं। - spectras
यदि प्रमाणपत्र सही तरीके से मान्य नहीं हैं, तो संभावित कारण यह है कि lftp को आपके सिस्टम के CA प्रमाण पत्र नहीं मिलते हैं। देख यह जवाब एक फिक्स के लिए। - ingomueller.net


echo "set ssl:verify-certificate no" >> ~/.lftp/rc

यदि आप प्रमाण पत्र की जांच नहीं करना चाहते हैं तो समस्या हल हो जाएगी


14
2017-10-06 10:20



यह अभी भी एसएसएल प्रमाणपत्रों के सत्यापन को अक्षम करता है और इससे मैन-इन-द-बीच हमले संभव हो जाते हैं। एक बेहतर फिक्स के लिए, देखें यह जवाब। - ingomueller.net
बेहतर बस निष्पादित करें set ssl:verify-certificate no हमेशा अक्षम करने की तुलना में वर्तमान सत्र के लिए अस्थायी अक्षम करने के लिए lftp खोल में। समाधान के लिए अभी भी +1। - akostadinov


ssl:verfy-certificate false मेरे लिए काम नहीं किया, मुझे डेटा कनेक्शन बनाने पर टाइमआउट त्रुटि मिल रही थी।

मैंने पीछा किया इन जोड़कर निर्देश set ftp:ssl-allow false मेरे लिए ~/.lftprc फ़ाइल।


7
2018-02-04 09:08



जब आपने आदेश चलाया तो क्या आपने इसे ठीक से लिखा था? एसएसएल: सत्यापन प्रमाण पत्र झूठी - Malcolm Murdoch


मैं भी इसी प्रकार की एसएसएल प्रमाणपत्र सत्यापन त्रुटि का सामना कर रहा था। 'नो' को सत्यापित-प्रमाण पत्र सेट करना मेरे लिए काम करता है।

उदाहरण:

lftp -c 'सेट ftps: प्रारंभिक-प्रोट ""; सेट ftp: एसएसएल-बल सच; सेट ftp: एसएसएल-सुरक्षा-डेटा सत्य; एसएसएल सेट करें: सत्यापन-प्रमाणपत्र संख्या; ओपन-यू Usename, पासवर्ड 208.82.204.46; uploadfilename डालें; '


4
2017-07-22 17:28





इसके अलावा मैंने कोशिश की:

  • एसएसएल सेट करें: सत्यापन-प्रमाणपत्र / ftp.myblog.com संख्या
  • इस lftp में प्रमाणपत्र सत्यापन अक्षम करने के लिए चाल:

$ बिल्ली ~ / .lftp / आरसी सेट एसएसएल: सत्यापन प्रमाण पत्र संख्या

उपयोग करने का प्रयास करें set ftp:ssl-allow no; यह मेरे लिए एक आकर्षण की तरह काम किया।


4
2017-08-26 20:20



यह सबसे उपयुक्त विकल्प है। वैश्विक सेटिंग खराब विकल्प है क्योंकि जब संभव हो तो प्रमाण पत्र सत्यापन का उपयोग करना उचित है और वैश्विक विकल्प सेट करके यह प्रमाण पत्र को सत्यापित करने का प्रयास नहीं करेगा। आप एक स्क्रिप्ट फ़ाइल का उपयोग कर सकते हैं lftp -f <script> और ओपन कमांड से पहले इस कमांड को रखें। - kmcguire
set ssl:verify-certificate no बेहतर है मुझे लगता है क्योंकि लेनदेन सुरक्षित रहता है। set ftp:ssl-allow no सादा पाठ संवाद करेंगे - michalzuber


मैंने मैन पेज पढ़े हैं और समाधान मिला है। फ़ाइल बनाएं

~/.lftp/rc

और वहां अगली पंक्ति जोड़ें:

set ssl:check-hostname false;

3
2018-03-06 09:54





Lftp कमांड की आवश्यकता है: set ftp:ssl-allow no;

आप चुनने के बाद ही आदेश निष्पादित कर सकते हैं:

lftp www.yourdomain.com -u username,password -e "set ftp:ssl-allow no;"

या कमांड को बचाओ ~/.lftprc


0
2018-03-31 17:14