tutorial - GitHub ত্রুটি বার্তা-অনুমতি অস্বীকার(প্রকাশক)




github tutorial (20)

যে কেউ এই ত্রুটি দেখেছেন এবং জানেন কি করতে হবে?

আমি টার্মিনাল ব্যবহার করছি, আমি রুট, গিটহাব রিপোজিটরি বিদ্যমান এবং আমি এখন কি করতে হবে তা জানি না।

> git push -u origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

@ ব্যাটম্যানকেও একই রকম সমস্যা ছিল। যাইহোক, কারণ আমি এটি / usr / local / src / projectname এর অধীনে চলমান ছিলাম, সুডো ছাড়াই চলমান একটি বিকল্প ছিল না।

পরিবেশটি (আপনার ~ / .ssh / path) প্রিভিভ করার জন্য শুধু -ই ফ্ল্যাগ যুক্ত করুন।

$ sudo -E git clone [email protected]_repo

মানুষ সুদো থেকে:

-E, --preserve-env নিরাপত্তা নীতি নির্দেশ করে যা ব্যবহারকারী তাদের বিদ্যমান পরিবেশের ভেরিয়েবলগুলিকে প্রাক-সেবা করতে চায়। ব্যবহারকারীর পরিবেশ সংরক্ষণের অনুমতি না থাকলে নিরাপত্তা নীতি একটি ত্রুটি ফেরত দিতে পারে।


GitHub আপনি অনুমোদন করতে পারবেন না। সুতরাং, হয় আপনি একটি এসএসএইচ কী দিয়ে সেটআপ করেন না, কারণ আপনি help.github.com/articles/generating-ssh-keys , অথবা আপনার কীটি আপনার GitHub অ্যাকাউন্টের সাথে সম্পর্কিত নয়।

এসএসএইচ কীগুলি মোকাবেলা করতে আপনি এসএসএইচ / জিটি ইউআরএলের পরিবর্তে HTTPS URL ব্যবহার করতে পারেন। এই GitHub এর সুপারিশ পদ্ধতি

উপরন্তু, GitHub বিশেষত সেই ত্রুটির বার্তাটির জন্য একটি সহায়তা পৃষ্ঠা রয়েছে এবং আপনি যা চেক করতে পারেন তার বিশদ বিবরণে ব্যাখ্যা করে।


আপনার GitHub অ্যাকাউন্ট ড্যাশবোর্ডে যান, আপনার প্রকল্প সংগ্রহস্থলটি সন্ধান করুন, সেটিংস ট্যাবে ক্লিক করুন - দস্তাবেজ কীগুলির অধীনে আপনাকে আপনার SSH কী যোগ করতে হবে। ওপেন টার্মিনাল এবং টাইপ:

cat ~/.ssh/id_rsa.pub | pbcopy 

এটি আপনার id_rsa.pub ফাইল থেকে কী অনুলিপি করবে। সুতরাং শুধু GitHub ড্যাশবোর্ড ফিরে যান, এটি পেস্ট করুন, কী যোগ করুন ক্লিক করুন এবং এটি যে।

একই সমাধান Bitbucket অ্যাকাউন্টে প্রযোজ্য।


আপনি এসএসএইচ-এ GitHub সংযোগ করছেন অনুমান করা, আপনি এই নিশ্চিত করার জন্য কমান্ড নিচে চালাতে পারেন।

$git config --get remote.origin.url

যদি আপনি একটি ফলাফল পেয়ে থাকেন [email protected] নিম্নলিখিত ফর্ম্যাটে থাকে: xxx / xxx.github.com.git, তাহলে আপনাকে নিম্নলিখিতটি করা উচিত।

একটি এসএসএইচ কী তৈরি করুন (বা বিদ্যমান এক ব্যবহার করুন)। যদি আপনার একটি ছিল, আপনি কেবল ssh-agent (ধাপ 2) এবং আপনার গিটহাব অ্যাকাউন্টে (পদক্ষেপ 3) আপনার কী যুক্ত করতে হবে।

নীচে যারা SSH কী নেই তাদের জন্য।

ধাপ 1 জন পাবলিক / প্রাইভেট RSA কী জুড়ি তৈরি।

$ssh-keygen -t rsa -b 4096 -C "[email protected]"

এসএসএইচ কী সংরক্ষণ করতে হবে এবং আপনি কোন পাসফ্রেজটি ব্যবহার করতে চান তা নিশ্চিত করতে আপনাকে বলা হবে।

পদক্ষেপ 2 ssh-এজেন্টে আপনার কী যুক্ত করুন

  • এসএসএস-এজেন্ট সক্রিয় করা নিশ্চিত করুন

    $eval "$(ssh-agent -s)"

  • Ssh-agent এ আপনার SSH কী যোগ করুন:

    $ssh-add ~/.ssh/id_rsa

ধাপ 3 আপনার অ্যাকাউন্টে আপনার এসএসএইচ কী যোগ করুন

$sudo apt-get install xclip

$xclip -sel clip < ~/.ssh/id_rsa.pub

তারপর GitHub কপি করা কী যোগ করুন

সেটিংসে যান -> এসএসএইচ কী (ব্যক্তিগত সেটিংস পার্শ্ব বার) -> এসএসএইচ কী যুক্ত করুন -> ফর্মটি পূরণ করুন (কীটি আপনার ক্লিপবোর্ডে রয়েছে, কেবল ctrl + v ব্যবহার করুন ) -> কী যোগ করুন

উপরের ধাপগুলি অনুসরণ করার পরে, আপনার অনুমতি সমস্যা সমাধান করা উচিত।

রেফারেন্স লিঙ্ক: https://help.github.com/articles/generating-ssh-keys/


আপনি যখন আপনার সংগ্রহস্থল তৈরি করার পরে GitHub নির্দেশাবলী অনুসরণ করবেন তখন দৃশ্যটি কোথায় ঘটবে। গিট এই মত কিছু সঙ্গে আপনার রিমোট যোগ করার জন্য আপনাকে নির্দেশ করবে।

git remote add origin [email protected]:<user>/<project>.git

আপনার অ্যাকাউন্ট সম্পর্কিত মান <> এর মধ্যে যা আছে তা প্রতিস্থাপন করুন।

সমাধান .git প্রত্যয় অপসারণ করা হয়। নিম্নরূপ দূরবর্তী যোগ করুন:

git remote add origin [email protected]:<user>/<project>


আপনি যদি ম্যাক UI এর জন্য GitHub ব্যবহার করেন তবে লগ ইন থাকা নিশ্চিত করার জন্য পছন্দগুলি পরীক্ষা করুন।


আমার কাছে 2 জিথাব পরিচয় ফাইল এসএসডি এজেন্টে লোড হয়েছে। একটি ক্লায়েন্ট প্রকল্পের জন্য আমার ব্যক্তিগত কী এবং অন্য।

আমি বিভ্রান্তির সৃষ্টিকারী কীটি সরিয়ে দিয়েছি:

ssh-add -d id_rsa_github_somekey


আমার জন্য আমি চেষ্টা করেছি -

eval "$(ssh-agent -s)"

তারপর আমি রান

ssh-add ~/.ssh/path-to-the-keyfile

এবং আপনি উৎপন্ন করতে পারেন মূল উৎপাদনের জন্য

ssh-keygen -t rsa -b 4096 -C "[email protected]"

এটি কী জোড়া তৈরি করবে (সর্বজনীন এবং ব্যক্তিগত)।

আপনি এই কীটি জিথাব-এ সংরক্ষণ করতে আরো পড়তে পারেন এইটি আপনার GitHub অ্যাকাউন্টে একটি নতুন এসএসএইচ কী যোগ করা

আমি আশা করি এটা অন্যদের সাহায্য করবে :)


আমি 'গিট ধাক্কা' সময় একই ত্রুটি পেয়ে ছিল। ক্লায়েন্ট পাশে আমি দুটি মূল এবং মাস্টার ছিল। আমি এক মুছে ফেলা, তারপর এটা সূক্ষ্ম কাজ।


আমি আমার php প্রকল্পের এক জন্য পূর্বে github ব্যবহার করা হয়। জিথাব ব্যবহার করার সময়, আমি https পরিবর্তে ssh ব্যবহার করছিলাম। আমি আমার https://help.github.com/articles/generating-ssh-keys/ এবং যেভাবে আমি কোড প্রতি ধাক্কা ব্যবহৃত এবং ধাক্কা ব্যবহৃত ছিল, এটি আমার RSA কী পাসওয়ার্ড জিজ্ঞাসা করবে।

কিছুদিন পর, আমি পিএইচপি প্রকল্পে কাজ বন্ধ করে দিয়েছিলাম এবং আমার আরএসএস পাসওয়ার্ড ভুলে গেছি। সম্প্রতি, আমি একটি জাভা প্রকল্পে কাজ শুরু করে বিটবકેટে চলে যাই। যেহেতু, আমি পাসওয়ার্ডটি ভুলে গেছি এবং এটি পুনরুদ্ধার করার কোন উপায় নেই , আমি নতুন প্রকল্পটির জন্য https (প্রস্তাবিত) প্রোটোকল ব্যবহার করার সিদ্ধান্ত নিয়েছি এবং একই ত্রুটির মধ্যেও একই প্রশ্ন জিজ্ঞাসা করেছি।

আমি কিভাবে এটা সমাধান?

  1. Ssh এর পরিবর্তে https ব্যবহার করতে আমার জিটকে বলার জন্য এই কমান্ডটি রান করুন:

    git config --global url."https://".insteadOf git://
    
  2. যে কোন রিমোট সরান

    git remote rm origin
    
  3. Git init থেকে গিট ধাক্কা থেকে সবকিছু পুনরায় করুন এবং এটি কাজ করে!

পিএস: ডিবাগ প্রক্রিয়া চলাকালীন আমি আমার মেশিন থেকে আন-ইনস্টল এসএসএইচও ভাবছি যে, এটি অপসারণ করলে সমস্যাটি সমাধান হবে। হ্যা আমি জানি!! :)


আমি এই ত্রুটি পেয়ে ছিল। আমি শুধু সিয়েরাতে ওএসএক্স আপগ্রেড করেছি এবং আমার পুরানো কী আর নিবন্ধিত ছিল না।

প্রথমে আমি মনে করি এটি ছিল "ম্যাকোস সায়েরাতে আপগ্রেড করা আপনার এসএসএইচ কীগুলি ভাঙ্গবে এবং আপনার নিজের সার্ভার থেকে আপনাকে লক করবে"

কিন্তু আমি যে এক sidestepped ছিল। আমি আমার বিদ্যমান কী পুনরায় নিবন্ধন করতে হবে সক্রিয় আউট:

ssh-add -K

এবং পাসফ্রেজ টাইপ করুন ... সম্পন্ন!


আমি এই সমস্যা জানি। Ssh কী যোগ করার পরে, ssh এজেন্টকে খুব ssh কী যোগ করুন (অফিশিয়াল ডক্স থেকে https://help.github.com/articles/generating-ssh-keys/ )

ssh-agent -s
ssh-add ~/.ssh/id_rsa

এর পর, সমস্ত কাজ জরিমানা, গিট আগে সঠিক কী দেখতে পারেন, coudn't।


এই আমার ঘটেছে। কিছু কারণে আমার অনুভূতিটি বুঝতে পারলে আমার উদ্দীপনা ঘটেছে:

আপনার সেটিংস এখনও সঠিক কিনা পরীক্ষা করুন

git remote -v

ইউআরএলটি ssh: //[email protected]/YourDirectory/YourProject.git এর মতো কিছু হতে হবে; যদি আপনি [email protected] দেখতে না পান তবে ব্যবহার করুন

git remote set-url origin git://github.com/YourDirectory/YourProject.git

এটা ঠিক সেট। অথবা আপনি আপনার বিশেষ সংগ্রহস্থলের সেটিংস প্যানেলে প্রাথমিক রিমোটরিটি url টি পরীক্ষা এবং সেট করতে github অ্যাপ্লিকেশনটি ব্যবহার করতে পারেন।


এছাড়াও উবুন্টুতে, যদিও বিটবકેટের সেটিংসে ইতিমধ্যে এসএসএইচ কী প্রবেশ করানো হয়েছে, আমি এই সমস্যাটি পেয়েছি। কারণ ছিল, আমি নিম্নলিখিত চেষ্টা ছিল:

sudo git push origin master

নিশ্চিত না কেন, কিন্তু এটি ব্যবহার করে সমাধান করা হয়েছে

git push origin master

কোন sudo ব্যবহৃত।


প্রথমে, আপনার কম্পিউটারে বিদ্যমান ssh কীগুলির জন্য আমাদের চেক করতে হবে। টার্মিনাল খুলুন এবং রান করুন:

ls -al ~/.ssh

#or

cd ~/.ssh
ls

এবং যে আপনার .ssh ডিরেক্টরি ফাইল তালিকা হবে

এবং পরিশেষে আপনি যা দেখেন তার উপর নির্ভর করে (আমার ক্ষেত্রে ছিল):

 github_rsa  github_rsa.pub known_hosts

শুধু আপনার আরএসএ সেট আপ করার চেষ্টা করুন এবং আশা করি যে আপনার "গিট ধাক্কা উত্স" সমস্যা সমাধান করবে

$ ssh-keygen -lf ~/.ssh/github_rsa.pub

দ্রষ্টব্য: আরএসএ সার্টিফিকেটগুলি কী-যুক্ত করা হয়েছে যাতে আপনার কাছে একটি ব্যক্তিগত এবং একটি সার্বজনীন শংসাপত্র থাকবে, এটি আপনার জন্য ব্যক্তিগত অ্যাক্সেসযোগ্য হবে না কারণ এটি গীথাবের (এই ক্ষেত্রে) তবে জনসাধারণের মধ্যে এমন একটি যা আপনি অনুপস্থিত হতে পারেন (অন্তত এটা আমার ক্ষেত্রে ছিল, আমার জিথব অ্যাকাউন্ট বা রেপো কোনভাবেই আপোস হয়ে গিয়েছিল এবং আমাকে পূর্বে তৈরি করা সার্বজনীন কী "লিঙ্ক" করতে হয়েছিল)


যদি আপনি ইতিমধ্যে একটি এসএসএইচ কী তৈরি করেছেন এবং এখনও ত্রুটিটি পেয়ে থাকেন তবে এটি আপনাকে ব্যবহারকারীর অনুমতিগুলি পড়তে এবং লিখিত ফোল্ডারটিতে লিখতে দেওয়ার অনুমতি দেয়। এটি করার জন্য, sudo chmod 777 <your_folder_name_here>" । অবশ্যই, এটি একটি এসএসএইচ কী তৈরি করার পরে এবং আপনি এখনও এই ত্রুটিটি পেয়ে sudo chmod 777 <your_folder_name_here>" । আশা করি এটি ভবিষ্যতে ব্যবহারকারীদের সহায়তা করবে।

সম্পাদন করা

আপনি যদি জিট ব্যাশটি ব্যবহার করেন তবে উইন্ডোজ এ অ্যাডমিন ব্যবহার করুন


রিমোট রিপোজিটরিতে https ব্যবহারে ssh অ্যাক্সেস পরিবর্তন করলে সমস্যাটি সমাধান করা হয়েছে:

git remote set-url origin https_link_to_repository

git push -u origin master

রিমোট হিসাবে GitHub যোগ করার সময় এই পৃষ্ঠার জন্য URL ব্যবহার করুন। এটি এমন কোনও ত্রুটি সৃষ্টি করে এবং কোডটিকে ধাক্কা দেয় না


ssh-add -l আপনার Github অ্যাকাউন্টে SSH কীগুলির তালিকাতে থাকা একটি SSH কীটির আঙ্গুলের ছাপ দেখায় তা নিশ্চিত ssh-add -l

যদি আউটপুটটি খালি থাকে, তবে আপনি জানেন যে আপনার একটি ব্যক্তিগত এসএসএইচ কী আছে যা আপনার জিথাব অ্যাকাউন্টের সাথে কাজ করে, এই কীতে ssh-add চালান ( ~/.ssh id_rsa পাওয়া যায়। এটি ডিফল্টরূপে id_rsa নামযুক্ত, তাই সম্ভবত আপনি ssh-add id_rsa চালান ssh-add id_rsa )।

অন্যথায়, একটি SSH কী জুড়ি উৎপন্ন করার জন্য help.github.com/articles/generating-ssh-keys অনুসরণ করুন।


TL; ড

~/.ssh/config করা

PubkeyAcceptedKeyTypes=+ssh-dss

দৃশ্যকল্প যদি আপনি openSSH> 7 এর একটি সংস্করণ ব্যবহার করেন, যেমন একটি স্পর্শ বার ম্যাকবুক প্রো-এ বলতে হয় এটি ssh -V
OpenSSH_7.4p1, LibreSSL 2.5.0
ssh -V
OpenSSH_7.4p1, LibreSSL 2.5.0

আপনার কাছে একটি পুরোনো ম্যাকও ছিল যা মূলত আপনার জিথবকে নিয়ে যাচ্ছিল, এটি একটি id_dsa কী ব্যবহার করা সম্ভব। OpenSSH v7 ডিফল্টভাবে এই ডিএসএ কীগুলির (যা এই ssh-dss অন্তর্ভুক্ত) ব্যবহার করে না, তবে আপনি এখনও নিম্নলিখিত কোডটি আপনার ~/.ssh/config

PubkeyAcceptedKeyTypes=+ssh-dss

আমার জন্য কাজ যে উত্স এই Gentoo নিউজলেটার হয়

এখন আপনি অন্তত GitHub ব্যবহার করতে পারেন এবং তারপরে আপনার কীগুলি RSA এ ঠিক করতে পারেন।





github