কীভাবে lftp শংসাপত্র যাচাইয়ের ত্রুটি এড়ানো যায়?


46

আমি আমার পেলিকান ব্লগটি কাজ করার চেষ্টা করছি । এটি প্রকৃত ব্লগকে বেশী সার্ভারে স্থানান্তর করতে 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 ডিরেক্টরিতে কোনও "আরসি" ফোল্ডার নেই - সুতরাং এই প্রম্পটে কাজ করার কোনও সুযোগ নেই।


1
~/.lftprc একটি ফাইল
Mausy5043

উত্তর:


42

ম্যানপেজ থেকে :

-c কমান্ড
প্রদত্ত কমান্ডগুলি প্রয়োগ করে প্রস্থান করুন। কমান্ডগুলি সেমিকোলন ( ;), এবং ( &&) বা ওআর ( ||) এর সাহায্যে পৃথক করা যায়। শেলের মধ্যে কমান্ড যুক্তিটি সঠিকভাবে উদ্ধৃত করতে ভুলবেন না Remember এই যুক্তিটি অন্য যুক্তি ছাড়াই একা ব্যবহার করতে হবে।

সুতরাং আপনি আধ্যাত্মিক দ্বারা পৃথক পৃথক যুক্তি হিসাবে আদেশগুলি নির্দিষ্ট করতে চান:

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

আপনি quitকমান্ডটি বাদ দিতে পারেন এবং -cপরিবর্তে ব্যবহার করতে পারেন -e


দারুণ. অসংখ্য ধন্যবাদ. আমি আশা করেছিলাম যে আমার চেয়ে অভিজ্ঞ যে তাত্ক্ষণিকভাবে আমার ব্যর্থতা চিহ্নিত করবে (- আমি আপনার -c পরামর্শটি ছাড়ার বিষয়টি ছাড়ার চেষ্টাও করেছি, তবে এটি আমার পক্ষে কার্যকর হয়নি। যাইহোক আমি খুশি)।
প্যাট্রিক

34

আমার অনুরূপ সমস্যা ছিল, যদিও আমার এলএফটিপিতে এসএসএল সমর্থন (ফেডোরা আরপিএম) সংকলিত রয়েছে। ssl:verify-certificate falseআমার জন্য কৌশলটি।


11
এর উপর ভিত্তি করে set ssl:verify-certificate falseআমার ~/.lftprcজন্য সমস্যার সমাধান করা।
নিকোলাস রাউল

5
… যদিও এটি এসএসএল ব্যবহারের বিন্দুটিকে পরাভূত করে এখন আপনার এলএফটিপি এটি যে কোনও শংসাপত্র উপস্থাপিত হবে তা আনন্দের সাথে গ্রহণ করে, আপনাকে এম 2 এম আক্রমণে ঝুঁকিপূর্ণ করে তোলে।
বর্ণা্য

1
যদি শংসাপত্রগুলি যথাযথভাবে যাচাই না করা হয়, একটি সম্ভাব্য কারণ হ'ল lftp আপনার সিস্টেমের CA শংসাপত্রগুলি খুঁজে পায় না। ঠিক করার জন্য এই উত্তরটি দেখুন ।
ingomueller.net

19

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

আপনি যদি শংসাপত্রটি চেক করা না চান তবে সমস্যার সমাধান করবে


2
এটি এখনও এসএসএল শংসাপত্রগুলির যাচাইকরণ অক্ষম করে এবং এটি মধ্য-মধ্যবর্তী আক্রমণকে সম্ভব করে তোলে। আরও ভাল করার জন্য, এই উত্তরটি দেখুন
ingomueller.net

3
set ssl:verify-certificate noসর্বদা অক্ষম করার চেয়ে বর্তমান সেশনের জন্য অস্থায়ী অক্ষম করার জন্য lftp শেলের মধ্যে আরও কার্যকর করুন । এখনও সমাধানের জন্য +1।
akostadinov

8

ssl:verfy-certificate false আমার পক্ষে কাজ করেনি, "ডেটা সংযোগ তৈরি করার সময়" আমি একটি সময়সীমা ত্রুটি পেয়েছিলাম।

আমি আমার ফাইলটিতে যুক্ত করে এই নির্দেশনাগুলি অনুসরণ set ftp:ssl-allow falseকরেছি ~/.lftprc


3
আপনি যখন কমান্ডটি চালাচ্ছিলেন ঠিক তখনই আপনি এটি বানান করেছেন? এসএসএল: যাচাই-শংসাপত্র মিথ্যা
ম্যালকম মুরডোক

5

এছাড়াও আমি চেষ্টা করেছি:

  • এসএসএল সেট করুন: যাচাই-শংসাপত্র / ftp.myblog.com নং
  • Lftp এ শংসাপত্র যাচাইকরণ অক্ষম করার এই কৌশল:

$ বিড়াল ~ / .lftp / আরসি সেট এসএসএল: যাচাই-শংসাপত্র নম্বর

ব্যবহার করার চেষ্টা করুন set ftp:ssl-allow no; এটা আমার জন্য একটি কবজ মত কাজ।


1
এটি সবচেয়ে উপযুক্ত পছন্দ। গ্লোবাল সেটিংস একটি খারাপ পছন্দ কারণ এটি সম্ভব হলে শংসাপত্র যাচাই করা যুক্তিসঙ্গত এবং বিশ্বব্যাপী বিকল্পটি সেট করে এটি কখনই শংসাপত্র যাচাই করার চেষ্টা করবে না। আপনি একটি স্ক্রিপ্ট ফাইল ব্যবহার করতে পারেন lftp -f <script>এবং এই কমান্ডটি ওপেন কমান্ডের আগে স্থাপন করতে পারেন ।
কিমিউকুইয়ার

set ssl:verify-certificate noআরও ভাল আমি মনে করি কারণ লেনদেনটি সুরক্ষিত থাকে। set ftp:ssl-allow noপ্লেইন টেক্সট যোগাযোগ করবে
michalzuber

4

আমি একই ধরণের এসএসএল শংসাপত্র যাচাইয়ের ত্রুটির মুখোমুখি হয়েছি। 'না' তে যাচাই-শংসাপত্র সেট করা আমার পক্ষে কাজ করে না।

উদাহরণ:

lftp -c 'সেট ftps: প্রাথমিক-প্রট ""; সেট এফটিপি: এসএসএল-ফোর্স সত্য; সেট এফটিপি: এসএসএল-সুরক্ষা-ডেটা সত্য; এসএসএল সেট করুন: যাচাই-শংসাপত্র নম্বর; ওপেন-ইউ উসনেম, পাসওয়ার্ড 208.82.204.46; আপলোড ফাইল নাম দিন; '


3

আমি ম্যান পেজগুলি পড়েছি এবং সমাধান খুঁজে পেয়েছি। ফাইল তৈরি করুন

~/.lftp/rc

এবং সেখানে পরবর্তী লাইন যুক্ত করুন:

set ssl:check-hostname false;

1

Lftp কমান্ডের প্রয়োজন: set ftp:ssl-allow no;

আপনি কমান্ডটি নির্বাচন করার পরে কার্যকর করতে পারেন:

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

বা কমান্ড সংরক্ষণ করুন ~/.lftprc


0
lftp -u username,password host -e "set ftp:ssl-allow no" 

বিষয়টি আমার জন্য ঠিক করে দিন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.