কমান্ড লাইনের শংসাপত্রগুলি কীভাবে ইনস্টল করবেন


71

স্কুলে তাই https সাইটগুলিতে অ্যাক্সেসের জন্য আমাদের একটি শংসাপত্র ইনস্টল করতে হবে। ফায়ারফক্সে, আমি শংসাপত্রটি আমদানি করতে পারি। তবে কমান্ড লাইন দিয়ে আমি এটি করতে পারি না। উদাহরণস্বরূপ, দৌড়ানো git pushআমি পাই:

fatal: unable to access 'https://github.com/user/repo': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none

এটি সরানোর জন্য আমি কীভাবে একটি শংসাপত্র আমদানি করব? আমদানিটি অবশ্যই আমার পক্ষে প্রমাণীকরণ করতে সক্ষম হবে। এছাড়াও, এটি একটি .cerফাইল, সুতরাং এর উত্তর কার্যকর .crtহবে না। এছাড়াও, আমি ইতিমধ্যে গিট কীভাবে সেটআপ করব তার পদক্ষেপগুলি চাই না। এটি করা সম্ভব কিনা তা আমি জানতে চাই। অথবা আমি কেবল gitকমান্ডের সাথে পুরোপুরি প্রমাণীকরণটি অক্ষম করতে পারি এবং এটিকে এখানে যে উত্তর বলে তার মতো শংসাপত্রগুলি উপেক্ষা করতে পারি ? এছাড়াও, আমি ওয়েবপৃষ্ঠাটি লোড হওয়া চাই না, এটি করার জন্য আমি ফায়ারফক্স রেখেছি। আমি git pushআদেশটি স্ট্যান্ডার্ড আউটপুট দেওয়ার মতো চাই:

[master 630d087] message
 1 file changed, 93 insertions(+), 80 deletions(-)
 rewrite somefile (84%)
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 978 bytes | 0 bytes/s, done.
Total 5 (delta 2), reused 0 (delta 0)
To https://github.com/User/Repo.git
   851ae39..630d087  master -> master

দ্রষ্টব্য: আমি এটির সন্ধান করেছি git config --global http.sslverify false। তবে আমি কেবল গিট হ্যাক নয়, সমস্ত কিছুর উত্তর দেখতে চাই



@ এরিক কারভালহো না, এটির জন্য .crt। আমার দরকার.cer
ইউনিভার্সাল বিদ্যুৎ

আপনার গিট কমান্ডে সমস্যা আছে বা আপনি কী করতে চান? আমাকে @ এএবি
এবি

@ এ্যাব আমি গিটকে গিথুব সার্টিফিকেট ব্যবহার করার চেষ্টা না করে স্কুল আমাদের যে শংসাপত্র দেয় তা ব্যবহারের অনুমতি দিতে চাই। বা যদি এটি কাজ না করে তবে স্কুলের সার্টিফিকেট আমার কাছে প্রমাণীকরণের অনুমতি দিন
ইউনিভার্সাল বিদ্যুৎ

নোট করুন .crt এবং .cer এক্সটেনশনগুলি বিনিময়যোগ্য, কেবল ফাইলের নাম এক্সটেনশান পরিবর্তন করুন, তাদের একই ফর্ম রয়েছে।
মাইক

উত্তর:


116

টি এল; ডিআর

কেবলমাত্র আপনার ব্রাউজারটিই নয়, সমস্ত কিছু কাজ করার জন্য আপনাকে সেই সিএ শংসাপত্রটি সিস্টেমের বিশ্বস্ত সিএ সংগ্রহস্থলে যুক্ত করতে হবে।

উবুন্টুতে:

  • / ইউএসআর / স্থানীয় / ভাগ / সিএ-শংসাপত্র / এ যান
  • একটি নতুন ফোল্ডার তৈরি করুন, যেমন "sudo mkdir স্কুল"
  • স্কুল ফোল্ডারে .crt ফাইলটি অনুলিপি করুন
  • নিশ্চিত হয়ে নিন যে অনুমতিগুলি ঠিক আছে (ফোল্ডারের জন্য 755, ফাইলের জন্য 644)
  • "সুডো আপডেট-সিএ-শংসাপত্রগুলি" চালান

কেন

কী চলছে তাও আমাকে ব্যাখ্যা করতে দিন, সুতরাং অন্যান্য পোস্টাররা দেখুন কেন এইচটিপিপিএস ব্যবহার করে গিথুব ব্যবহারের জন্য তাদের কোনও শংসাপত্রের প্রয়োজন নেই।

সেখানে যা চলছে তা হ'ল আপনার স্কুল সমস্ত এসএসএল যোগাযোগগুলিকে বাধা দিচ্ছে, সম্ভবত সেগুলি নিরীক্ষণের জন্য।

এটি করার জন্য, তারা যা করছে তা হ'ল একটি "মধ্যবর্তী লোক" আক্রমণ এবং এর কারণে আপনার ব্রাউজারটি যথাযথভাবে অভিযোগ করে যে তিনি গিথবের শংসাপত্রটি যাচাই করতে সক্ষম হচ্ছেন না। আপনার স্কুল প্রক্সিটি গিথুব এর শংসাপত্র গ্রহণ করছে এবং তার পরিবর্তে এটির নিজস্ব শংসাপত্র সরবরাহ করছে।

যখন আপনার ব্রাউজারটি গিথুবের শংসাপত্রে স্বাক্ষর করে এমন সিএর বিপরীতে স্কুলের সরবরাহিত শংসাপত্র যাচাই করার চেষ্টা করে, এটি যথাযথভাবে ব্যর্থ হয়।

সুতরাং, স্কুলে এসএসএল সংযোগের জন্য আপনাকে সেই "এমআইটিএম" আক্রমণ সচেতনভাবে গ্রহণ করতে হবে। এবং আপনি এটি একটি বিশ্বস্ত হিসাবে স্কুল সিএ শংসাপত্র যোগ করে তা করেন।

আপনি যখন সেই স্কুল সিএতে বিশ্বাস করবেন তখন আপনার নকল গিথুব সার্টের যাচাইকরণ কাজ করবে, যেহেতু ভুয়া গিথুব সার্টিটি স্কুল সিএ দ্বারা যাচাই করা হবে।

আপনার স্কুল প্রশাসক আপনার সমস্ত এনক্রিপ্ট হওয়া সংযোগগুলিতে বাধা দিতে সক্ষম হবেন বলে এসএসএল সংযোগটি আর নিরাপদ নয় aware


এটি মূলত মাইকের dpkg- পুনরায় কনফিগার না করে একই উত্তর যা দরকার হবে না। যা চলছে তা হ'ল গিট বা অন্য কোনও কমান্ড লাইন তাদের এসএসএল যাচাইকরণের ক্ষেত্রে 100% মানসম্পন্ন হচ্ছে না। আপনার স্কুলটি প্রথমে বাস্তবায়িত "এসএসএল হ্যাক" এর কাজের জন্য আপনি "গিট হ্যাক" বলছেন তা ব্যবহার করার প্রয়োজন হতে পারে।
টেলিগ্রাফার

এবং এও, সচেতন থাকুন যে এই কমান্ডগুলি চালনার জন্য আপনার রুট অনুমতি প্রয়োজন, সুতরাং sudo কমান্ডটি সফল হওয়া দরকার, বা আপনি সিস্টেমের শংসাপত্র কর্তৃপক্ষকে আপডেট করতে পারবেন না।
টেলিগ্রাফার

2
অতিরিক্ত তথ্য সরবরাহ করতে দয়া করে আপনার উত্তরটি সম্পাদনা করুন - কোনও মন্তব্যে রাখবেন না।
গুটবার্ট

1
আমি বিশ্বাস করি এটি হওয়া উচিত /usr/local/share/ca-certificates/। দেখুন man update-ca-certificates, যা সেখানে একটি শ্বেতলিস্ট থাকার বিষয়ে কথা বলছে /usr/share/ca-certificates/তবে কীভাবে এটি /usr/local/share/ca-certificates/ডিরেক্টরিতে সমস্ত কিছু স্পষ্টভাবে বিশ্বাস করে ।
ইয়ান হিকসন

3
উবুন্টুতে 16.04 এ সিএ যুক্ত করার পরে /usr/local/share/ca-certificatesআমাকে সিএ sudo dpkg-reconfigure ca-certificatesপিকআপ করার জন্য এটি ব্যবহার করতে হয়েছিল
ম্যাট এল।

40

ca-certificatesপ্যাকেজ তার নির্দেশাবলী রয়েছে README.Debian:

ইনস্টল করতে স্থানীয় শংসাপত্র কর্তৃপক্ষদের পরোক্ষভাবে বিশ্বাস করা করতে চান তাহলে, দিয়ে শেষ একক ফাইল হিসেবে সার্টিফিকেট ফাইল পেশ করুন .crtমধ্যে /usr/local/share/ca-certificates/এবং পুনরায় রান update-ca-certificates

মনে রাখবেন যে এটি এখানে অন্য উত্তরগুলির চেয়ে পৃথক একটি ডিরেক্টরি উল্লেখ করেছে:

/usr/local/share/ca-certificates/

অনুলিপি করার পরে /usr/local/share/ca-certificates/আপনি শংসাপত্রের অনুমতিগুলি আপডেট করতে পারেন sudo update-ca-certificatesএবং টেলিগ্রাফারগুলির উত্তরে উল্লিখিত হিসাবে চালানো যেতে পারে। আপনি আউটপুটে দেখতে পাবেন যে শংসাপত্রটি যুক্ত হয়েছিল।


4
এটি আমার পক্ষে উবুন্টু 16.04 এও কাজ করেছিল। গৃহীত উত্তরের পথটি আমার পক্ষে কার্যকর হয়নি।
প্লাজগোথ

এটি একটি স্বীকৃত উত্তর হতে হবে এটি উবুন্টু সার্ভারের 16.04 এলটিএসের একটি কার্যক্ষম সমাধান।
লসিঠা বেনারগামা

15

এক্সটেনশন .crt, .pem এবং .cer বিনিময়যোগ্য, কেবল ফাইল নাম এক্সটেনশন পরিবর্তন করুন, তাদের একই ফর্ম রয়েছে। এটা চেষ্টা কর:

$ sudo cp mycert.cer /usr/share/ca-certificates/mycert.pem
$ sudo dpkg-reconfigure ca-certificates
$ sudo update-ca-certificates
$ git config --global http.sslCAInfo /usr/share/ca-certificates/mycert.pem

যদিও এটি সত্য, এটি কোনও উপকারে আসেনি। তবে ভবিষ্যতে এটি লোকজনকে সহায়তা করতে পারে
ইউনিভার্সাল বৈদ্যুতিকতা

আমি আরও একটি লাইন যুক্ত করেছি, গিটারটিকে আপনার শংসাপত্রের উপর বিশ্বাসের জন্য চেষ্টা করুন, নোট করুন যে আমি সেরি পরিবর্তন করেছি। পরিবর্তে 4 টি পদক্ষেপের দুটিতে .pem এ .crt। @ ইউনিকর্নস খুব খুব মুখরোচক
মাইক

3
যদি আপনার .CER ফাইলটি বাইনারি হয় (DER ফর্ম্যাট) তবে আপনি কেবল এক্সটেনশনটি পরিবর্তন করতে পারবেন না। openssl(1)শংসাপত্রটি পিইএম ফর্ম্যাটে রূপান্তর করতে ব্যবহার করুন । চালান:$ openssl -in mycert.cer -inform DER -out mycert.pem -outform PEM
আর্চ ব্যবহারকারী

1
: @Archuser হয়তো অধিকার কমান্ড এই হলopenssl x509 -inform DER -in certificate.cer -out certificate.pem
artificerpi

5

আমি পূর্ববর্তী উত্তরগুলির নিম্নলিখিত সংকলন ব্যবহার করি:

sudo -i
echo | openssl s_client -showcerts -servername site.example.com -connect example.com:443 2>/dev/null | awk '/-----BEGIN CERTIFICATE-----/, /-----END CERTIFICATE-----/' >> /usr/local/share/ca-certificates/ca-certificates.crt 
update-ca-certificates

এটি ওয়ান-লাইনার হিসাবে সংশোধন করা যেতে পারে।

প্রায়শই উভয় site.example.comএবং example.comএকই হোস্টনাম।


3

আমি সমস্ত সমাধান পড়ি এবং এর মতো সমাধান করেছি;

sudo openssl x509 -inform DER -in certificate.cer -out certificate.crt

sudo mv certificate.crt /usr/share/ca-certificate/

cd /usr/share/ca-certificate

sudo chmod 644 certificate.crt

sudo dpkg-reconfigure ca-certificates

sudo update-ca-certificates

1

ফায়ারফক্স এবং গুগল ক্রোমে শংসাপত্র ইনস্টল করার ক্ষেত্রে আমার একইরকম সমস্যা sudo apt-get updateছিল কিন্তু টার্মিনালে আপডেট করা কাজ করছে না এবং 403 নিষিদ্ধ আইপি ত্রুটি দিচ্ছে। আমারও খুব একটা স্যাম্পল.এসার ফাইল ছিল। সুতরাং মূলত আমাকে প্রথমে .crt এ রূপান্তর করতে হবে।

sudo openssl x509 -inform DER -in sample.cer -out sample.crt

এখনও করার সময় sudo dpkg-reconfigure ca-certificatesআমি প্রয়োজনীয় শংসাপত্রটি খুঁজে পেলাম না। আমার সমস্যাটি হ'ল আমি ভুল জায়গায় শংসাপত্রটি অনুলিপি করছিলাম।

এটি অনুলিপি করার পরিবর্তে $/usr/share/ca-certificates আমি এটি অনুলিপি করেছিলাম $/usr/local/share/ca-certificates তবে এটি সঠিক জায়গায় রেখে আমার সমস্যার সমাধান করে। তবে আমি এখনও প্যাকেজ আপডেট করতে বা নতুন প্যাকেজ ইনস্টল করতে সক্ষম নই।

দ্রুত সমাধান (আমার জন্য):

HTTP এর পরিবর্তে এফটিপি ব্যবহার করুন

sudo sed -i s/http/ftp/ /etc/apt/sources.list && apt-get update

এবং উপরের কমান্ড কাজ করে। পরিবর্তনগুলি করার আগে দয়া করে উত্স.লিস্ট ফাইলের একটি অনুলিপি তৈরি করুন।

যদি কিছু পরিষ্কার না হয় বা যথাযথ না হয় তবে দয়া করে আমাকে সংশোধন করুন।


0

আপনি httpsকোনও সিএলআই বা জিইউআই ব্রাউজার ব্যবহার করছেন কিনা তা দিয়ে কোনও ওয়েবসাইট অ্যাক্সেস করতে আপনার শূল শংসাপত্রের দরকার নেই।

gitHTTP (গুলি) এর মাধ্যমে ব্যবহার করতে আপনাকে গিটহাবে আপনার প্রোফাইল সেটিংসে আপনার সর্বজনীন কী নিবন্ধিত করতে হবে ।

আরও ইনফোগুলি এখানে । আপনার গিটহাব প্রোফাইলটি এখানে পরিবর্তন করুন


এটা চেষ্টা কর:

sudo apt-get install w3m
w3m https://github.com/

… অতিরিক্ত শংসাপত্র ছাড়াই কাজ করে।

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