গিট ব্যবহার করার সময় অনুমতি অস্বীকার (পাবলিককি) ত্রুটিটি কীভাবে সমাধান করবেন?


631

আমি ম্যাক স্নো চিতাবাঘে আছি এবং আমি সবেমাত্র ইনস্টল করেছি git

আমি শুধু চেষ্টা করেছি

git clone git@thechaw.com:cakebook.git

কিন্তু এটি আমাকে এই ত্রুটি দেয়:

Initialized empty Git repository in `/Users/username/Documents/cakebook/.git/`
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

আমি কী মিস করছি?
আমি ssh-keygenপাসফেজের সাথে না করার চেষ্টা করেছি কিন্তু এখনও একই ত্রুটি।


8
আপনি কি ssh-keygen এর মাধ্যমে তৈরি করেছেন এমন সর্বজনীন কী আপলোড করার চেষ্টা করেছেন?
প্যাট্রিক কর্নেলিসসেন

আমার সমস্যাটি হ'ল আমি ক্লোনটি ব্যবহার করে দেখেছি sudo- এটি অন্য জন সরকারী কী সহ অন্য একজন ব্যবহারকারী।
ভাইটালি জেডনেভিচ

একই ত্রুটি আমি আগে গিথুবের মাধ্যমে একটি সর্বজনীন কী তৈরি করেছি, তারপরে ssh-keygenইউটিলিটি সহ আরও একটি কী-জুড়ি তৈরি করেছি । গিথুবে ব্যক্তিগত সেটিংসে পুরানো পাবলিক কী মুছে ফেলা এবং এসএসএইচ এবং জিপিজি কীগুলিতে আমার ssh উত্পন্ন id_rsa.pub কী যুক্ত করা ক্লোনিং অনুমতি সংক্রান্ত সমস্যাগুলি স্থির করে।
ট্যানার ডলবি

উত্তর:


774

যদি ব্যবহারকারী আগে কোনও ssh পাবলিক / প্রাইভেট কী জুড়ি সেট না করে থাকে

এই তথ্যটি চ্যাচ-এ কাজ করছে তবে অন্য সমস্ত গিট রিপোজিস্টরিগুলিতে প্রয়োগ করা যেতে পারে যা এসএসএইচ পাবার প্রমাণীকরণকে সমর্থন করে। (উদাহরণস্বরূপ গিটোলাইট , গিটল্যাব বা গিথাব দেখুন ))

প্রথমে আপনার নিজের পাবলিক / প্রাইভেট কী জুটি সেট সেট করে শুরু করুন। এটি ডিএসএ বা আরএসএ উভয়ই ব্যবহার করতে পারে, সুতরাং মূলত আপনার সেটআপের যে কোনও কী কাজ করবে। বেশিরভাগ সিস্টেমে আপনি ssh-keygen ব্যবহার করতে পারেন।

  • প্রথমে আপনি আপনার .ssh ডিরেক্টরিতে সিডি করতে চান। টার্মিনালটি খুলুন এবং রান করুন:

    cd ~/.ssh && ssh-keygen

  • এর পরে আপনার এটি আপনার ক্লিপবোর্ডে অনুলিপি করতে হবে।
    • ওএস এক্স রানে: cat id_rsa.pub | pbcopy
    • লিনাক্স রান চলাকালীন: cat id_rsa.pub | xclip
    • উইন্ডোজে (সাইগউইন / গিট ব্যাশের মাধ্যমে) রান করুন: cat id_rsa.pub | clip
  • ওয়েবসাইটের মাধ্যমে আপনার অ্যাকাউন্টে আপনার কী যুক্ত করুন।
  • অবশেষে আপনার .gitconfig সেটআপ করুন।
    • git config --global user.name "bob"
    • git config --global user.email bob@... (কনফিগারটি পুনরায় লোড হয়েছে তা নিশ্চিত করার জন্য আপনার কমান্ড লাইনটি পুনরায় চালু করতে ভুলবেন না)

এটি আপনার ক্লোন এবং চেকআউট করা ভাল হওয়া উচিত।

আরও তথ্য https://help.github.com/articles/generating-ssh-keys (@ লি হুইটনি ধন্যবাদ) - এ পাওয়া যাবে

যদি ব্যবহারকারী পূর্বে একটি ssh পাবলিক / প্রাইভেট কী জুড়ি সেট করে

  • আপনার গিথব বা গিটল্যাব অ্যাকাউন্ট সেটিংসে কোন কী অনুমোদিত হয়েছে তা পরীক্ষা করুন
  • আপনার স্থানীয় কম্পিউটার থেকে কোন প্রাইভেট কী যুক্ত হতে হবে তা নির্ধারণ করুন

eval $(ssh-agent -s)

  • কীগুলি অবস্থিত তা নির্ধারণ করুন

ssh-add ~/.ssh/id_rsa


6
ঠিক আছে. এটি আসলে গিট নয় বরং এসএসএস সিঙ্ক্রোনাইজেশন সমস্যা। আমি অ্যাসেমব্লার সাথে একই জিনিস পেয়েছি এবং আপনি লিঙ্কটি এটি সমাধান করতে সহায়তা করেছে। ধন্যবাদ!
আলেকজান্দার বুর্লিয়ার

এই উত্তরটি সহায়ক তবে এটি যদি আপনি স্ক্র্যাচ থেকে কীগুলি উত্পন্ন করছেন তবে এটি আরও সম্পূর্ণ এবং সহজ বলে মনে হচ্ছে: help.github.com/articles/generating-ssh-keys
whitneyland

6
আমি কীজেন নিয়ে সমস্যা পেয়েছি। এটি বিশ্বব্যাপী env ভেরিয়েবলের ইমেল ঠিকানার সাথে সংবেদনশীল। আপনার যদি সমস্যা হয় তবে আপনি প্রথমে আপনার গিথুব অ্যাকাউন্টের জন্য ইমেল ঠিকানাটি উল্লেখ করতে চাইবেন: ssh-keygen -t rsa -C "
your_email@youremail.com

30
যদি এটি এখনও কাজ না করে, আপনার প্রয়োজন ssh-add ~/.ssh/id_rsa
মাইকেল লিটভিন

1
xclipলিনাক্স ব্যবহার করে অনুলিপিটি কেবলxclip -sel clip < ~/.ssh/id_rsa.pub এখানে নিম্নলিখিত তালিকাবদ্ধ করে কাজ করে কাজ করেছে : help.github.com/articles/generating-ssh-keys
প্যাট

217

এর সাথে আরও বিবিধ সমস্যা সমাধান এবং এমনকি স্বয়ংক্রিয় ফিক্সিংও করা যেতে পারে:

ssh -vT git@github.com

সূত্র: https://help.github.com/articles/error-permission-denied-publickey/


1
আমার সার্ভারের জন্য একটি আলাদা কী থাকার সাথে আমার সমস্যা ছিল। সমস্যাটি নির্ধারণের জন্য আমি উপরের কমান্ডটি ব্যবহার করার পরে, আমি আমার কনফিগারেশন ফাইলে আইডেন্টিফাইফিলটি ঠিক করেছিলাম এবং এটি কার্যকর হয়েছিল।
জ্যারি বোল্যান্ডার

1
কোন কী গিথুব প্রমাণীকরণের জন্য ব্যবহার করার চেষ্টা করছে তা দেখানো হয়েছে। v সহায়ক
সিডোসোর্ন

9
এটি কিছুই ঠিক করে না। আমি এখনও ওপির প্রশ্নের ত্রুটি পেয়েছি।
ইগোরগানাপলস্কি

5
কমান্ডটি আপনাকে সমস্যা সমাধানে সহায়তা করার জন্য রয়েছে, এটি আমার জন্য স্যুইচ কোনও ম্যাজিক ফিক্স নয়।
স্টিভেক

2
আমি এর সমাধান হওয়া কিছু বলতে পারি না, তবে এটি একটি আকর্ষণীয় কমান্ডের একটি জাহান্নাম এবং গিটহাব এন্টারপ্রাইজের সাথেও কাজ করে।
হ্যাক-আর

164

এই ত্রুটিটি তখন ঘটতে পারে যখন আপনি গিট রিড-ওনল ইউআরএলটির পরিবর্তে এসএসএইচ ইউআরএল (পঠন / লেখার) অ্যাক্সেস করেন তবে সেই রেপোতে আপনার কোনও লেখার অ্যাক্সেস নেই।

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

সমতুল্য কেসটি হ'ল আপনি যখন অন্য কারও রেপোকে ক্লোন করার চেষ্টা করেন যার সাথে আপনার এসএসএইচ ইউআরএল দিয়ে কোনও লেখার অ্যাক্সেস নেই।

এক কথায়, যদি আপনার উদ্দেশ্যটি কেবলমাত্র কোনও রেপোকে ক্লোন করতেhttps://github.com/{user_name}/{project_name}.git হয় তবে এসএসএইচ ইউআরএল ( git@github.com:{user_name}/{project_name}.git) এর পরিবর্তে এইচটিটিপিএস ইউআরএল ( ) ব্যবহার করুন , যা (অপ্রয়োজনীয়) পাবলিক কী বৈধতা এড়িয়ে চলে।


আপডেট: গিটহাব এইচটিটিপিএসকে এখন ডিফল্ট প্রোটোকল হিসাবে প্রদর্শন করছে এবং এই পদক্ষেপটি সম্ভবত এসএসএইচ ইউআরএলগুলির সম্ভাব্য অপব্যবহার হ্রাস করতে পারে।


https://github.comগিট ইউআরএল সহ এটি এখনও বলে SSL certificate problem: self signed certificate in certificate chaingit -c http.sslVerify=false clone ...একটি বিপজ্জনক পদক্ষেপ মত মনে হচ্ছে। যদিও ক্রোম কোনও এসএসএল সতর্কতা দেয় না। থটস?
জেসন ক্লেবান

1
@ uosɐſ দুঃখিত তবে আমি কখনও এই সমস্যার মুখোমুখি হইনি। হতে পারে প্রথম কাজটি হ'ল ভিন্ন মেশিন থেকে একই কমান্ডটি চেষ্টা করে দেখুন এবং সমস্যাটি বজায় রয়েছে কিনা।
কাভিনয়ও

1
এটি আমার জন্যও করেছে। ধন্যবাদ। আমার শেয়ারকৃত হোস্টিং অ্যাকাউন্টে (১ ম ১) আমার গিট রেপো ক্লোন করার জন্য আমাকে git clone https://github.com/MyUserName/MyRepo.git গিথুব পৃষ্ঠার ডানদিকে রেপো URL এর নীচের পাঠ্য লিঙ্কগুলিতে কেবল ক্লিক করতে হয়েছিল যেখানে লেখা আছে " আপনি এইচটিটিপিএস, এসএসএইচ, বা সাবভার্সনের সাথে ক্লোন করতে পারেন । "। (ক্লিক করুন HTTPS দ্বারা ডিফল্ট পরিবর্তে লিঙ্ক পেতে , SSH ।)
অলিভার Schafeld

ধন্যবাদ!!!!!!
শার্ল শেরিফ

দুর্দান্ত উত্তর। অবশেষে কেউ ব্যাখ্যা করেন যে এটি কেন এমনভাবে কাজ করে।
কিবব্যাক

104

গিথুব সহায়তা লিঙ্কটি আমাকে এই সমস্যার সমাধান করতে সহায়তা করেছে। মনে হচ্ছে ssh- এজেন্টে ssh কী যুক্ত করা হয়নি। এটাই আমি শেষ করেছিলাম।

আদেশ 1:

Ssh- এজেন্ট সক্ষম হয়েছে তা নিশ্চিত করুন। কমান্ডটি পটভূমিতে ssh- এজেন্ট শুরু করে:

eval "$(ssh-agent -s)"

কমান্ড 2:

এসএসএইচ-এজেন্টে আপনার এসএসএইচ কী যুক্ত করুন:

ssh-add ~/.ssh/id_rsa

7
ওএসএক্স এল ক্যাপ্টেনকে সিয়েরাতে আপগ্রেড করার পরে এটি আমার পক্ষে কাজ করেছিল।
লুইকি

7
ম্যাকস সিয়েরায় আপগ্রেড করার পরে আমার জন্য কাজ করুন =)
অ্যাড্রিয়ানো রিসেন্ডে

এটি আমার জন্য রাস্পবেরি পাইতে কাজ করেছে, যেখানে স্পষ্টতই "-K" এর পরিবর্তে এসএস-অ্যাডের একটি "-কে" পতাকা রয়েছে। তবে একবার আমি আমার ডিপ্লোয়মেন্ট কী যুক্ত করলে আমি এর এসএসএইচ লিঙ্কটি ব্যবহার করে আমার রেপোটিকে সফলভাবে ক্লোন করতে সক্ষম হয়েছি।
জোশ

34

একই ত্রুটি প্রতিবেদন পেয়েছে।

পরিবর্তে HTTP ব্যবহার করে স্থির। যেহেতু আমি কোনও পরীক্ষার পিসির জন্য "এসএসএইচ কী" সেট করতে চাই না।

ক্লোন করার সময় URL টি HTTP এ পরিবর্তন করুন:

git clone https://github.com/USERNAME/REPOSITORY.git

আমার সমস্যাটি একটু অন্যরকম : দূরবর্তীতে বিদ্যমান স্থানীয় রেপো যুক্ত করার সময় আমার ইউআরএল সেট রয়েছে:

git remote add origin ssh://github.com/USERNAME/REPOSITORY.git

এটি ঠিক করতে, HTTP- এ URL রিসেট করুন:

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

বিটিডাব্লু, আপনি কমান্ডটি ব্যবহার করে আপনার URL টি পরীক্ষা করতে পারেন:

git remote -v
origin  https://github.com/USERNAME/REPOSITORY.git (fetch)
origin  https://github.com/USERNAME/REPOSITORY.git (push)

আশা করি এটি আমার মতো কাউকে সহায়তা করবে। : ডি



21

নোট করুন (কমপক্ষে কয়েকটি প্রকল্পের জন্য) আপনার অবশ্যই একটি এসএস কী দিয়ে একটি গিথব অ্যাকাউন্ট থাকতে হবে

আপনার প্রমাণীকরণ এজেন্টে তালিকাভুক্ত কীগুলি দেখুন ( ssh-add -l )
(যদি আপনি কিছু না দেখতে পান তবে আপনার বিদ্যমান কীগুলির মধ্যে একটি যোগ করুন ssh-add / path / to / আপনার / কী (উদাহরণ: ssh-add ~ /.ssh/id_rsa ))
। (যদি আপনার কোন কী না থাকায়, প্রথম একটি তৈরি দেখুন: http://rcsg-gsir.imsb-dsgi.nrc-cnrc.gc.ca/documents/internet/node31.html অথবা কেবল গুগল এসএস-কীজেন)

আপনার গিথব অ্যাকাউন্টের সাথে আপনার কী সম্পর্কিত রয়েছে তা যাচাই করতে :

এখানে যান: https://github.com/settings/ssh

আপনি ঠিক এক মিনিট আগে ssh-add -l টাইপ করার সময় আপনি যে হ্যাশগুলি দেখেছেন তার মধ্যে একটি হ্যাশ কী এর সাথে মিলে কমপক্ষে একটি কী দেখতে হবে ।

যদি আপনি এটি না করেন তবে একটি যুক্ত করুন, তারপরে আবার চেষ্টা করুন।


এটি আমার পক্ষে কাজ করেছে। আমার চাবিটি লেখক এজেন্টে যুক্ত না হওয়ার কারণে এটি আমার কাছে হয়েছিল। ধন্যবাদ।
antonD

19

আমি একই সমস্যার সাথে লড়াই করে যাচ্ছিলাম যা আমি করেছি এবং আমি রেপো ক্লোন করতে সক্ষম হয়েছি। আমি আইম্যাকের জন্য এই পদ্ধতিগুলি অনুসরণ করেছি ।

প্রথম পদক্ষেপ: আমাদের কাছে ইতিমধ্যে জনসাধারণের এসএসএইচ কী আছে কিনা তা পরীক্ষা করা হচ্ছে।

  1. ওপেন টার্মিনাল।
  2. ls -al ~/.sshবিদ্যমান এসএসএইচ কী উপস্থিত রয়েছে কিনা তা লিখুন :

আপনার ইতিমধ্যে কোনও পাবলিক এসএসএইচ কী আছে কিনা তা দেখতে ডিরেক্টরি তালিকাটি পরীক্ষা করে দেখুন ef

যদি আপনি খুঁজে না পান তবে দ্বিতীয় ধাপে যান অন্যথায় পদক্ষেপ 3 অনুসরণ করুন

পদক্ষেপ 2: সর্বজনীন এসএসএইচ কী তৈরি করা হচ্ছে

  1. ওপেন টার্মিনাল।
  2. আপনি গিথুবের জন্য ব্যবহারযোগ্য বৈধ ইমেল ঠিকানা সহ ফলোং কমান্ড প্রবেশ করুন ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  3. আপনি টার্মিনালে নিম্নলিখিত দেখতে পাবেন Generating public/private rsa key pair। এটি "Enter a file in which to save the key,"এন্টার টিপতে অনুরোধ জানানো হয় । এটি ডিফল্ট ফাইলের অবস্থান গ্রহণ করে। যখন এটি অনুরোধ জানায় Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]কেবল এন্টার টিপুন। প্রম্পটে, একটি সুরক্ষিত পাসফ্রেজ টাইপ করুন।
  4. Enter passphrase (empty for no passphrase): [Type a passphrase]আপনি Enter same passphrase again: [Type passphrase again]আবার এন্টার টিপতে না চাইলে এন্টার টিপুন

এটি উত্পন্ন হবে id_rsa.pub

পদক্ষেপ 3: এসএসএইচ-এজেন্টে আপনার এসএসএইচ কী যুক্ত করা

  1. অন্তর্বর্তী প্রকার eval "$(ssh-agent -s)"
  2. Ssh-এজেন্টে আপনার এসএসএইচ কী যুক্ত করুন। যদি আপনি একটি নতুন এসএসএইচ কী তৈরি করার পরিবর্তে বিদ্যমান এসএসএইচ কী ব্যবহার করে থাকেন তবে আপনাকে কমান্ডে আইডি_রসাকে আপনার বিদ্যমান বেসরকারী কী ফাইলটির নামের সাথে প্রতিস্থাপন করতে হবে। এই আদেশটি লিখুন$ ssh-add -K ~/.ssh/id_rsa

এবার এসএসএইচ কীটি অনুলিপি করুন এবং এটি আপনাকে গিথব অ্যাকাউন্টে যুক্ত করুন

  1. টার্মিনালে আপনার ssh ফাইলের নাম সহ এই কমান্ডটি প্রবেশ করুন pbcopy < ~/.ssh/id_rsa.pubএটি আপনার ক্লিপবোর্ডে ফাইলটি অনুলিপি করবে এখন আপনি গিথব অ্যাকাউন্ট খুলুন সেটিংস> এসএসএইচ এবং জিপিজি কীগুলিতে যান> নতুন এসএসএইচ কী শিরোনাম প্রবেশ করুন এবং ক্লিপবোর্ড থেকে কীটি আটকে দিন এবং সংরক্ষণ করুন। ভয়েলা আপনার কাজ শেষ

2
উইন্ডোজ ব্যবহারকারীদের অনুলিপি: বিড়াল ~ / .ssh / id_rsa.pub | ক্লিপ
ফবিই

1
অবশেষে এখানে এবং সেখানে এক ঘন্টা পড়ার পরে, ধাপে ধাপে সমাধানটি .... দুর্দান্ত কাজ করে। পদক্ষেপগুলিতে পাসফ্রেজ হিসাবে আপনার গিথব পাসওয়ার্ডটি যুক্ত করতে ভুলবেন না অন্যথায়
প্রতিবার

13

আমার কিছুটা ভিন্ন পরিস্থিতি ছিল, আমি একটি রিমোট সার্ভারে লগইন করেছিলাম এবং সার্ভারে গিট ব্যবহার করছিলাম, যখন আমি কোনও গিট কমান্ড চালাতাম তখন আমি একই বার্তা পেলাম

   Permission denied (publickey).
   fatal: The remote end hung up unexpectedly

আমি যেভাবে এটি ঠিক করেছি তা ছিল আমার ম্যাকের / etc / ssh_config ফাইলটি পরিবর্তন করে। থেকে

ForwardAgent no 

প্রতি

ForwardAgent yes

ভার্চুয়ালবক্স ভিএম থেকে গিথুব থেকে রত্ন আনার চেষ্টা করার সময় ত্রুটিটি ঘটছিল। ব্যবহারের জন্য আমার ভ্যাগ্রান্টফাইল আপডেট করেছে config.ssh.forward_agent = true, ভিএম পুনরায় চালু করুন এবং এখন এটি কার্যকর হয়।
ক্রিস ব্লুম

1
এটি অনুসারে সুরক্ষার দিক থেকে সেরা পছন্দ নাও হতে পারে: heipei.github.io/2015/02/26/…
বাবা

13

এসএসএইচ এবং এইচটিটিপিএসের মধ্যে পার্থক্য ভেবেছিল বলেই আমি একই ইস্যুটি পূরণ করেছি হয়

https://github.com/USERNAME/REPOSITORY.git

ssh://github.com/USERNAME/REPOSITORY.git

তাই আমি এইচটিটিপিএস থেকে পরিবর্তন করেছি করা , SSH শুধু পরিবর্তন করে https://থেকে ssh://url এর শেষে কিছুই পরিবর্তন করা হয়েছে।

তবে সত্যটি হ'ল:

https://github.com/USERNAME/REPOSITORY.git

git@github.com:USERNAME/REPOSITORY.git

যার মানে আমি পরিবর্তন ssh://github.com/USERNAME/REPOSITORY.gitকরতেgit@github.com:USERNAME/REPOSITORY.git এটি কাজ করে।

বোকা ত্রুটি তবে আশা কাউকে সাহায্য করে!


হ্যাঁ, আমি পরিবর্তিত ssh://github.com/USERNAME/REPOSITORY.gitকরতে git@github.com:USERNAME/REPOSITORY.gitএটি কাজ করে।
উইলিয়াম হু

অবশ্যই। আমি কেবল বলছি যে আমি https উল্লেখ করার বিন্দুটি দেখতে পাচ্ছি না;)
ওয়ানড্রিকেটার

আমি দেখতে পাচ্ছি কারণ আমি কেবল তার sshপরিবর্তে ব্যবহার করি কারণ আমি https'https: //' কে 'ssh: // to এ পরিবর্তিত করেছি তবে আমি ত্রুটি পেয়েছি। সুতরাং 'ssh: // git /../ `থেকে' git @ .. /":) এ পরিবর্তন করুন আমার উত্তরটি সম্পাদনা করুন
উইলিয়াম হু

এটা আমার জন্য কাজ করে. আপনাকে অনেক ধন্যবাদ! আমি https এবং তারপরে ssh চেষ্টা করেছিলাম তবে "গিট ক্লোন git@github.com: /myusername/myproject.git" দিয়ে আপনার পথ তৈরি না করা পর্যন্ত এটি আমার অ্যাক্সেসকে অস্বীকার করে চলেছে।
থাচ ভ্যান

6

উইন্ডোজে, নিশ্চিত হয়ে নিন যে আপনার সমস্ত অ্যাপ্লিকেশন হোম এ সম্মত। মিসেস আশ্চর্যজনকভাবে এটি আপনার জন্য করবেন না। আমাকে এনভায়রনমেন্ট ভেরিয়েবল সেট করতে হয়েছিল কারণ ssh এবং git আমার .ssh ডিরেক্টরিটি যেখানে ছিল তাতে একমত হতে পারে না।


6

আপনি কি কর্পোরেট পরিবেশে আছেন ? আপনার সিস্টেমের ভেরিয়েবলগুলি সম্প্রতি পরিবর্তিত হয়েছে এটা কি সম্ভব? প্রতি এই তাই উত্তর, SSH কী বাস %HOMEDRIVE%%HOMEPATH%\.ssh\id_rsa.pub। সুতরাং যদি %HOMEDRIVE%সম্প্রতি পরিবর্তিত হয়, গিটটি আপনার কীটি কোথায় সন্ধান করবে তা জানেন না এবং এইভাবে সমস্ত প্রমাণীকরণের স্টাফ।

চালানোর চেষ্টা করুন ssh -vT git@github.com। কোথায় identity fileঅবস্থিত তা লক্ষ করুন । আমার জন্য, এটি আমার স্বাভাবিক দিকে না\Users\MyLogin বরং একটি নেটওয়ার্ক ড্রাইভের দিকে ইঙ্গিত করছিল , কারণ নেটওয়ার্ক পর্যায়ে পরিবেশগত ভেরিয়েবলের পরিবর্তনের কারণে।

সমাধান? যেহেতু আমার %HOMEDRIVE%নতুনটির সাথে আমার স্থানীয় ফাইলগুলির মতো একই অনুমতি রয়েছে, আমি কেবলমাত্র আমার .ssh ফোল্ডারটি সেখানে সরিয়ে নিয়েছি এবং এটিকে একটি দিন বলেছি।


আমার জন্য এই কাজ। গতকাল আমার ssh কী কাজ করছে কিন্তু আজ আমার সিস্টেমের কিছু সেটিংস পরিবর্তিত হয়েছে। আমি আবার shh কী যুক্ত করেছি এবং এটি এখন কাজ করছে।
হিতেশ আগরওয়াল

6

বলছি এটি আমার জন্য এটি কীভাবে কাজ করেছিল:

  1. টার্মিনালটি খুলুন এবং ব্যবহারকারীর কাছে যান [সংযুক্ত চিত্র দেখুন]
  2. .Ssh ফোল্ডারটি খুলুন এবং নিশ্চিত করুন যে এটিতে id_rsa বা id_rsa.pub এর মতো কোনও ফাইল নেই অন্যথায় কখনও কখনও এটি সঠিকভাবে ফাইলগুলি পুনরায় লিখতে চাইবে না
  3. গিট - রূপান্তর [গিট ইনস্টলেশন ও সংস্করণ পরীক্ষা করুন]
  4. গিট কনফিগারেশন - গ্লোবাল ইউজার.ইমেল "আপনার ইমেল আইডি"
  5. গিট কনফিগার - গ্লোবাল ইউজার.নেম "আপনার নাম"
  6. গিট কনফিগারেশন - তালিকা [নিশ্চিত করুন যে আপনি নিজের নাম এবং ইমেল সেট করেছেন]
  7. সিডি। / .এসএইচ
  8. ssh-keygen, এটি ফাইল সংরক্ষণের জন্য অনুরোধ জানাবে, এটির অনুমতি দিন
  9. বিড়াল। / .ssh / id_rsa.pub [আপনার সর্বজনীন কী অ্যাক্সেস করুন এবং জারিত সেটিংসে কীটি অনুলিপি করুন]

দ্রষ্টব্য : আপনার গিটের সাথে sudo কমান্ড ব্যবহার করা উচিত নয়। যদি আপনার খুব ভাল কারণ থাকে তবে অবশ্যই আপনাকে sudo ব্যবহার করা উচিত, তবে নিশ্চিত করুন যে আপনি এটি প্রতিটি কমান্ডের সাথে ব্যবহার করছেন (সম্ভবত এই সময়ে শেলটি শেল হিসাবে পেতে su ব্যবহার করা আরও ভাল)। আপনি যদি সুডো ছাড়াই এসএসএইচ কী তৈরি করেন এবং তারপরে সুডো গিট পুশের মতো একটি কমান্ড ব্যবহার করার চেষ্টা করেন তবে আপনি যে কীগুলি উত্পন্ন করেছেন সেগুলি আপনি ব্যবহার করবেন না

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


5

বেসিক জিআইটি নির্দেশাবলী এসএসএইচ কী স্টাফগুলির জন্য কোনও রেফারেন্স তৈরি করে নি। উপরের কয়েকটি লিঙ্ক অনুসরণ করে, আমি একটি গিট সহায়তা পৃষ্ঠা পেয়েছি যা বিভিন্ন অপারেটিং সিস্টেমের জন্য ঠিক কীভাবে এটি করতে হয় তা ধাপে ধাপে ব্যাখ্যা করে (লিঙ্কটি আপনার ওএস সনাক্ত করে এবং তদনুসারে পুনঃনির্দেশিত করবে):

http://help.github.com/set-up-git-redirect/

এটি জিআইটিহাবের জন্য প্রয়োজনীয় সমস্ত কিছুর মধ্য দিয়ে যায় এবং "আরএসএ কী তৈরি করার সময় কেন একটি পাসফ্রেজ যুক্ত করবে" এই জাতীয় বিশদ বিবরণ দেয়। আমি অনুভব করেছি যে আমি এটি পোস্ট করেছি, যদি এটি অন্য কাউকে সহায়তা করে ...


5

অন্যতম সহজ উপায়

টার্মিনাল যান -

  git push <Git Remote path> --all

3

রুফিনাসের জবাব ছাড়াও, উইন্ডোজের ক্লিপবোর্ডে আপনার ssh কীটি অনুলিপি করার শর্টকাটটি হ'ল:

  • type id_rsa.pub | clip

refs:


3

আপনার যদি একাধিক কী থাকে তবে আপনাকে করতে হবে ssh-add private-keyfile


অনেক ধন্যবাদ! এটা আসলে আমার সমস্যা ছিল।
GoGreen

[রুট @ li566-238 হাঞ্জিয়ুন] # এসএসএস-অ্যাড প্রাইভেট-কীফিল প্রাইভেট-কীফিল: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই
জেওয়াই হান

3

আমি এই ত্রুটিটি আঘাত করেছি কারণ আমার আমার বর্তমান ওয়ার্কিং ডিরেক্টরি ডিরেক্টরিগুলি 700 সরবরাহ করা দরকার:

chmod -R 700 /home/ec2-user/

3

আমাকে আমার এসএস কীগুলি মূল ফোল্ডারে কপি করতে হয়েছিল। গুগল ক্লাউড কম্পিউট ইঞ্জিন উবুন্টু 18.04 চলছে

sudo cp ~/.ssh/* /root/.ssh/

2

আমার বর্তমান প্রকল্পটি সেট করার সময় আমি এই সমস্যাটি কেবলমাত্র অভিজ্ঞতা পেয়েছি এবং উপরের সমাধানগুলির কোনওটিই কাজ করে না। সুতরাং আমি অনুসন্ধান করার চেষ্টা করেছি যে ssh -vT git@github.com কমান্ডটি ব্যবহার করে ডিবাগ তালিকায় আসলে কী ঘটছে। আমি লক্ষ্য করেছি যে আমার ব্যক্তিগত কী ফাইলের নাম তালিকায় নেই। কাজেই প্রাইভেট কী ফাইলের নাম পরিবর্তন করে 'id_rsa' করুন। আশা করি এটি সাহায্য করতে পারে


আপনি যখন অন্য কোনও কিছুর জন্য "id_rsa" কী ব্যবহার করছেন তখন ক্ষেত্রে সহায়ক নয় ....
র্যান্ডম_উজার_নেম

2

এটি বেশ সোজা এগিয়ে। নীচের কমান্ডটি টাইপ করুন

ssh-keygen -t rsa -b 4096 -C "youremailid@yourdomain.com"

এসএসএইচ কী তৈরি করুন। ফাইলটি খুলুন এবং সামগ্রীগুলি অনুলিপি করুন। গিটহাব সেটিং পৃষ্ঠায় যান এবং এসএসএইচ কীতে ক্লিক করুন। অ্যাড নতুন এসএসএইচ কীতে ক্লিক করুন এবং সামগ্রীগুলি এখানে আটকান। এটাই :) আপনার আর সমস্যাটি দেখা উচিত নয়।


1

মেকফিল চালানোর চেষ্টা করার সময় আমি অনুরূপ অনুমতি অস্বীকার (পাবলিককি) ত্রুটি পেয়ে যাচ্ছিলাম

উপরের এসএসএইচ পদক্ষেপের বিকল্প হিসাবে আপনি ম্যাক অ্যাপ্লিকেশনটির জন্য নেটিভ গিটহাব ইনস্টল করতে পারেন।

ম্যাকের জন্য গিটহাব ডাউনলোড করুন - https://help.github.com/articles/set-up-git#platform-mac থেকে ক্লিক করুন

একবার আপনি আপনার গিট হাব অ্যাকাউন্টের সাথে সেটআপ শেষ করে (আমি গিট হাব কমান্ড লাইন সরঞ্জামগুলিও ইনস্টল করেছি তবে এই পদক্ষেপের প্রয়োজন হয় কিনা তা নিশ্চিত না) তবে আমি একটি ইমেল পেয়েছি -

[গিটহাব] আপনার অ্যাকাউন্টে একটি নতুন পাবলিক কী যুক্ত করা হয়েছে

এবং আমার ত্রুটি স্থির ছিল।


1

আমি একই ত্রুটি পেয়েছিলাম। আমার সমস্যাটি সুডোর সাথে মিশে গেল।

Sudo দিয়ে গিট ক্লোন কমান্ডের উপস্থাপন না করে আমি স্বয়ংক্রিয়ভাবে যে ডিরেক্টরিটি ক্লোনিং করেছিলাম তা তৈরি করতে পারিনি। আমি যখন এটি করেছি, তবে আমার এসএসএস কীগুলি যেখানে সঠিকভাবে উল্লেখ করা হচ্ছে না।

এটি ঠিক করার জন্য, আমি chmod এর মাধ্যমে প্যারেন্ট ডিরেক্টরিটিতে অনুমতি সেট করেছি আমি আমার ক্লোনটি ধারণ করতে চেয়েছিলাম যাতে আমি এটিতে লিখতে পারি। তারপরে আমি সুডোর উপসর্গ ব্যতিরেকে গিট ক্লোন চালিয়েছি। এটি তখন কাজ! আমি তার পরে অনুমতিগুলি পরিবর্তন করেছি। সম্পন্ন.


1

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


1

এটা আমার জন্য কাজ করেছে।

আপনার সর্বজনীন কীটি id_rsa.pub; ফাইল এ সংরক্ষিত হয়েছে এবং আপনার অ্যাকাউন্টে আপলোড করা কীটি। আপনি এই চালনাটি ক্লিপবোর্ডে এই কীটি সংরক্ষণ করতে পারেন:

পিবিসিপি <~ / .ssh / id_rsa.pub

  • ক্লিপবোর্ডে এসএসএইচ কীটি অনুলিপি করুন, ওয়েব পোর্টালে ফিরে আসুন।
  • এসএসএইচ কী ক্ষেত্রে, আপনার এসএসএইচ কীটি আটকে দিন।
  • নাম ক্ষেত্রে, কীটির জন্য একটি নাম সরবরাহ করুন।
  • সংরক্ষণ .


1

এটির সবচেয়ে সহজ সমাধান, যখন আপনি কোনও আলাদা ব্যবহারকারীর নাম সহ কোনও সংগ্রহস্থলটিতে যাওয়ার চেষ্টা করছেন:

 git remote set-url origin https://USERNAME@github.com/USERNAME/PROJECTNAME.git

1

এই অদ্ভুত ত্রুটি, আমার ক্ষেত্রে এটি একটি লক্ষণ ছিল gnome-keyring-daemon এটিতে পাসওয়ার্ডের প্রয়োজন এমন চাবিটির ভুল নামকরণের ।

আমি এখানে বর্ণিত পদক্ষেপগুলি অনুসরণ করি এবং টার্মিনালের মাধ্যমে পাসওয়ার্ড প্রবেশ করলাম। বিভ্রান্তি, ওরফে বিভ্রান্তিকর জিইউআই ইন্টারফেসটি সমাধান হয়েছে। দেখুন: /ubuntu/3045/how-to-disable-gnome-keyring


1

আমার ক্ষেত্রে, আমি উবুন্টু পুনরায় ইনস্টল করেছি এবং ব্যবহারকারীর নামটি পূর্বের থেকে পরিবর্তিত হয়েছে। এই ক্ষেত্রে উত্পাদিত ssh কীটি পূর্বেরটির থেকে পৃথক।

কেবলমাত্র বর্তমান ssh পাবলিক কী অনুলিপি করে সমস্যাটি সমাধান করা হয়েছে। কীটি আপনার ব্যবহারকারীর জন্য উপলব্ধ হবে/home/.ssh/id_rsa.pub


1

আমার ম্যাকের মধ্যে আমি এটি দিয়ে সমাধান করেছি:

cp ~/.ssh/github_rsa ~/.ssh/id_rsa

কোনও কারণে আমার গিটটি github_rsaফাইলটিতে প্রাইভেট কীটি খুঁজে পেতে থামল । এটি একটি নির্দিষ্ট রেপোতে ঘটেছিল। আমি বলতে চাইছি যে অন্য ভাণ্ডারগুলিতে গিট স্বাভাবিকভাবে কাজ করে চলেছে।

আমি মনে করি এটি একটি বাগ।

আমি এই আচরণ চালিয়ে যেতে পারে ssh -vT git@github.com

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