গিটের বিখ্যাত "ERROR: .git ব্যবহারকারীর কাছে অনুমতি অস্বীকার করা হয়েছে"


118

আমি গুগল করার চেষ্টা করেছি এবং https://help.github.com/en/articles/connecting-to-github-with-ssh এবং বিভিন্ন, বিভিন্ন গাইডের মাধ্যমে পড়েছি । আমি অক্ষম git push -u origin masterবা git push origin master(একই আদেশ)।

আমি আমার গিট অ্যাকাউন্টটি কমপক্ষে 2 বা এত বছর ধরে রেখেছি। আমি সফলভাবে push -u origin masterআমার ল্যাপটপে রেপো এবং সূক্ষ্ম তৈরি করতে সক্ষম হয়েছি কিন্তু এই ডেস্কটপে আমার সমস্যা হচ্ছে having

আমি যা চেষ্টা করেছি তা এখানে:

1. আমি আমার গিট ব্যবহারকারীর নাম সেটআপ করেছি

২. আমি আমার গিট ব্যবহারকারী ইমেল সেটআপ করেছি

৩. আমি আমার / home/meder/.ssh/id_rsa.pub এর বিষয়বস্তু গিথবের অ্যাকাউন্ট পৃষ্ঠাতে আপলোড করেছি। আমি যাচাই করেছি যে আমি কোনও শ্বেতস্থান পেস্ট করি নি

৪. আমি এই বিষয়বস্তুগুলির সাথে একটি ~ / .ssh / কনফিগার তৈরি করেছি:

  Host github.com
  User git
  Hostname github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

আমি এসএসএইচকে 700, id_rsa 600 এ chmodded করেছি

৫. আমি টাইপগুলি তৈরি না করে যথাযথ দূরবর্তী উত্স যুক্ত করেছি :git remote add origin git@github.com:medero/cho.git

6. # 5 নিশ্চিত করার জন্য, এখানে আমার .git / কনফিগার করা আছে। ডিরেক্টরিটি সঠিক এবং অন্য ডিরেক্টরি নয়:

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@github.com:medero/cho.git

7. ssh git@github.com -v আমাকে একটি সফল প্রমাণীকরণ দেয়

৮. একটি অদ্ভুত বিষয় হ'ল এটি ব্যবহারকারীর নাম যা এটি আমাকে tসংযুক্ত করে তাতে এটি যুক্ত হয়ে যায়। আমার গিথুব ব্যবহারকারীর নাম medero, না medert

হাই মেডিট্র! আপনি সফলভাবে প্রমাণীকরণ করেছেন, তবে গিটহাব শেল অ্যাক্সেস সরবরাহ করে না।

9. আমি না কোন প্রক্সি বা ফায়ারওয়ালের পিছনে

10. কী সরবরাহ করা হয়, আউটপুট heres থেকে -v:

debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home/meder/.ssh/known_hosts:58
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/meder/.ssh/id_rsa
debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Server accepts key: { some stuff, dont know if i should share it

debug1: Remote: Forced command: gerve mederot
debug1: Remote: Port forwarding disabled.
debug1: Remote: X11 forwarding disabled.
debug1: Remote: Agent forwarding disabled.
debug1: Remote: Pty allocation disabled.
debug1: Authentication succeeded (publickey).

১১. আমি যে কমান্ডগুলি ব্যবহার করেছি তা এখানে

mkdir cho
git init
touch README
git add README
git commit -m 'test'
git remote add origin git@github.com:medero/cho.git
git push -u origin master

12. আমি একটি নতুন এসএসএইচ কী তৈরি করতে চাই না।

13. আমি যদি এসএসএস ব্যবহার করে ক্লোন করে এবং সম্পাদনা, প্রতিশ্রুতিবদ্ধ এবং গিট পুশ করি তবে আমি একই সঠিক জিনিস পাই get

14. এখানে আসল ত্রুটি এখানে:

$ git push
ERROR: Permission to medero/cho.git denied to mederot.
fatal: The remote end hung up unexpectedly

15. আমি আমার গিথুব ব্যবহারকারীর নাম এবং গিথাব টোকেন সেটআপ করেছি:

it গিট কনফিগারেশন - গ্লোবাল গিথুব.উজার মিডেরো config গিট কনফিগারেশন - গ্লোবাল github.token 0123456789yourf0123456789 টোকেন সিস্টেমের সমস্ত গিট দৃষ্টান্তের জন্য গিটহব টোকেন সেট করে

১.. আমি নিশ্চিত করেছি যে আমার গিথুব ব্যবহারকারীর নামটি নেই mederotএবং আমার অ্যাকাউন্ট পৃষ্ঠায় আমার গিথুব টোকেন সঠিক (প্রথম 2 টি অক্ষর এবং শেষ 2 টি অক্ষর) রয়েছে।

17. # 16 নিশ্চিত করতে, ~ / .gitconfig রয়েছে

[github]
    token = mytoken...
    user = medero

18.ssh-key add ~/.ssh/id_rsa এটি এমনকি প্রয়োজন হলে আমি করেছি ...



তত্ত্ব,

আমার সন্দেহ আছে যে মশালার কিছু আছে কারণ যখন আমি এসএস প্রমাণীকরণ পাই তখন ব্যবহারকারীর অভিবাদনটি হয় mederotএবং না medero, যা আমার অ্যাক্যাক্ট। আমার গিথুব অ্যাকাউন্টে কিছু ভুলভাবে ক্যাশে করা যেতে পারে?

আমিও স্থানীয় SSH ক্যাশে weirdness সন্দেহ কারণ যদি আমি mv ~/.ssh/id_rsa KAKAএবং mv ~/.ssh/id_rsa.pub POOPOO, আর ssh git@github.com -v, এটা এখনও অনুমোদন আমার ও আমার /home/meder/.ssh/id_rsa তোলে যখন আমি নতুন নামকরণ বলছেন ?! এটা ক্যাশ করতে হবে ?!


আমি "উইথ উইথ উইন্ডোজ" ব্যবহার করছি এবং যখন দুটি গিথুব অ্যাকাউন্টের মধ্যে স্যুইচ করা হয়েছিল তখন একই রকম সমস্যা ছিল। এখানে আমার সমাধান: স্ট্যাকওভারফ্লো
আলিসা

আপনি দূরবর্তী রেপো তাদের সংশ্লিষ্ট উৎপত্তি 2 বিভিন্ন স্থানীয় Repos থেকে ধাক্কা খুঁজছি হয়, তাহলে পরীক্ষা এই: stackoverflow.com/q/63291726/12033855
an4s911

উত্তর:


35

18 ধাপে, আমি ধরে নিচ্ছি আপনার মানে ssh-add ~/.ssh/id_rsa? যদি তাই হয় তবে এটি ব্যাখ্যা করে:

আমি কিছু স্থানীয় এসএসএস ক্যাচিং অদ্ভুততার সন্দেহও করি কারণ আমি যদি এমভি ~ ​​/ .ssh / id_rsa KAKA এবং এমভি ~ ​​/ .ssh / id_rsa.pub পোপো, এবং ssh git@github.com -v করেন তবে এটি এখনও সত্যতা দেয় এবং বলে যে এটি পরিবেশন করে আমার / home/meder/.ssh/id_rsa আমি যখন এর নামকরণ করেছি ?! এটা ক্যাশ করতে হবে ?!

... যেহেতু ssh-agentআপনার চাবিটি ক্যাশে করছে।

আপনি যদি গিটহাবের দিকে নজর দেন তবে সেখানে একটি মধ্যম অ্যাকাউন্ট রয়েছে। আপনি কি নিশ্চিত যে এটি আপনার সাথে কিছুই করার নয়? আপনি যখন git@github.com:...ইউআরএলগুলি ব্যবহার করছেন তখন এটি এসএসএইচ কী-এর উপর ভিত্তি করে ব্যবহারকারীকে সনাক্ত করছে G (এটির অনুমতি দেওয়া উচিত নয় এটি এখানে নিশ্চিত করা হয়েছে ))

সুতরাং, আমি সন্দেহ করি (সম্ভাবনার ক্রম হ্রাসে) যে নিম্নলিখিতগুলির মধ্যে একটি হল:

  1. আপনি পূর্বে মিডেরোট অ্যাকাউন্ট তৈরি করেছেন এবং এতে আপনার এসএসএইচ কী যুক্ত করেছেন।
  2. অন্য কেউ আপনার সর্বজনীন কীটির একটি অনুলিপি পেয়েছে এবং এটি মিডেরোট গিটহাব অ্যাকাউন্টে যুক্ত করেছে।
  3. গিটহাবে একটি ভয়ঙ্কর বাগ আছে।

যদি 1 না হয় তবে আমি এটি গিটহাবকে জানাব, যাতে তারা প্রায় 2 বা 3 টি পরীক্ষা করতে পারে।

আরও:

ssh-add -l যদি হ্যাঁ, একাধিকের উপস্থিতি উপস্থিত রয়েছে কিনা তা যাচাই করুন, ssh-add -d "মুখ্য ফাইল" দ্বারা এটি সরিয়ে ফেলুন


দুর্দান্ত সাহায্য! এটি আমার জন্য এটিও স্থির করে দিয়েছে।
লিচি পেচি

ইহা ওইটাই ছিল. আপনি আমাকে একটি বিশাল মাথা ব্যাথা বাঁচিয়েছেন। এখন আমি ssh-add ...আমার গিথুব / এসএসএস লগইনগুলি স্যুইচ করতে চাইলে প্রতিবার চালাতে হবে ।
Cerin

কিছু কারণে ssh-add -d <keyfile>কাজ হয় না। (ম্যানুয়ালি ফাইল ফাইল মুছে ফেলা হয়েছে)) আপনি যে ক্যাশেটি উল্লেখ করেছেন সেটি অবশ্যই ম্যানুয়ালি কোনওভাবে পুনরায় লোড করতে হবে। কিভাবে?
not2qubit

ssh-add -d-> "আপনার প্রমাণীকরণ এজেন্টের সাথে কোনও সংযোগ খুলতে পারেনি।"
অ্যালেক্স

ssh-addবিট এটি আমার জন্য যা করেছিলেন ছিল। ধন্যবাদ!
রেয়রিং

159

কিছু দিন গুগলিংয়ের পরে, আমি দেখতে পেলাম যে এটিই আমার পরিস্থিতির মতো question

তবে আমি কেবল সমস্যার সমাধান করেছি! সুতরাং আমি এই উত্তরটি অন্য যে কেউ এই সমস্যাটির সন্ধানে সহায়তা করার জন্য এখানে রাখছি।

আমি যা করেছি তা এখানে:

  1. "কীচেন অ্যাক্সেস.এপ" খুলুন (আপনি এটি স্পটলাইট বা লঞ্চপ্যাডে খুঁজে পেতে পারেন)

  2. বিভাগে "সমস্ত আইটেম" নির্বাচন করুন

  3. "গিট" অনুসন্ধান করুন

  4. প্রতিটি পুরানো এবং অদ্ভুত আইটেম মুছুন

  5. আবার পুশ করার চেষ্টা করুন এবং এটি ঠিক কাজ করেছে


17
থাম্বস আপ বন্ধু। তুমি নায়ক
যুবরাজ বনসাল

1
হ্যাঁ হ্যাঁ, অবশেষে, অসংখ্য এসএসএইচ কীগুলির সাথে লড়াই করার পরে, এই উত্তরটি কাজ করেছে! দেখে মনে হচ্ছে ম্যাক এবং https অ্যাক্সেস কীচেন ব্যবহার করে। ক্রেজি।
প্যাট্রিক চু

1
আশীর্বাদ আপনি সপ্তাহে এই সমাধান করতে চেষ্টা করেছেন
জন হেন্ডারশোট

1
খুব সহায়ক বলে মনে হচ্ছে তবে কী তা অস্পষ্ট old & strange। আমি কি প্রচুর জিনিস গুঁড়িয়ে দিচ্ছি ..?
ভূগোলিক

1
@ জিওথোরি old & strangeজিনিসগুলির অর্থ পুরানো তারিখের আইটেম এবং ভুল ইমেল বা ব্যবহারকারীর নাম। আপনি এই দ্বারা টেবিল বাছাই করতে পারেন Date Modified
এলিস চ্যান

91

যদি উইন্ডোতে সমস্যা চলে আসে তবে উইন্ডোজ ইতিহাস থেকে শংসাপত্রগুলি সরিয়ে দিন।

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

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

গিট থেকে শংসাপত্রগুলি সরান


2
পারফেক্ট। আমি এমন অ্যাকাউন্ট দিয়ে 403 অ্যাক্সেস পাচ্ছিলাম যা আমি আর ব্যবহার করি না। এখন সমাধান।
আন্তন এপিখিন

1
শুধুমাত্র github.com শংসাপত্রগুলি মুছে ফেলা আমার পক্ষে যথেষ্ট ছিল
বার্ট ডি বোইক

এবং সেখানে আপনি আপনার ব্যবহারকারীর নাম এবং যে কোনও কিছু পরিবর্তন করতে পারেন। যে উপায়.
ওয়েস্টার্নগুন

আসলে এটি আমার পক্ষেও কাজ করেছিল তবে আমার 2 টি আলাদা অ্যাকাউন্ট থাকলে আমি কী করব?
an4s911

22

ম্যাকের ক্ষেত্রে, যদি আপনার একাধিক গিটহাব লগইন থাকে এবং এসএসএইচ ব্যবহার না করে তবে সঠিক লগইনটি জোর করে ব্যবহার করুন:

git remote set-url origin https://username@github.com/username/repo-name.git

আপনার যদি কোনও ব্যক্তিগত সংগ্রহস্থলটিতে চাপ দেওয়ার সমস্যা হয় তবে এটিও কাজ করে।


1
ধন্যবাদ, এটি আমার পক্ষে কাজ করেছে। এটি আমাকে পাসওয়ার্ডের জন্য অনুরোধ করেছিল এবং আমি আমার পাসওয়ার্ড দেওয়ার পরে আমি ধাক্কা দিতে সক্ষম হয়েছি। অনেক প্রশংসিত!
পিক্সেল

... তবে এটি আমার পক্ষে উইন্ডোজে সমস্যাটি সমাধান করেনি, কেবল ম্যাক
পিক্সেল

... তবে উইন্ডোজে শংসাপত্রগুলি পরিষ্কার করার জন্য উপরের ফাহিদ পরামর্শ দিয়েছেন
পিক্সেল

তুমি একজন নায়ক
বৈভব

এটি সঠিক উত্তর যদি আমরা একাধিক গিথুব প্রকল্পগুলি যা বিভিন্ন অ্যাকাউন্টের অন্তর্গত
গঙ্গাধর জএনএএনইউ

14

এটি একটি দ্বন্দ্বের কারণে।

Ssh-এজেন্ট থেকে সমস্ত কী সাফ করুন

ssh-add -d ~/.ssh/id_rsa
ssh-add -d ~/.ssh/github

গিথুব এসএস কী যুক্ত করুন

ssh-add   ~/.ssh/github

এটি এখন কাজ করা উচিত।


3
এছাড়াও ssh-add -Dসমস্ত পরিচয় সরিয়ে দেয়, এজেন্ট যদি কোনও অবৈধ অবস্থায় পড়ে যায় তবে তা কার্যকর হতে পারে।
স্যাম

6

আমি ম্যাক ব্যবহার করছি এবং কীচেইন অ্যাক্সেস অ্যাপ্লিকেশন থেকে গিথব রেকর্ড মুছে ফেলার মাধ্যমে সমস্যাটি সমাধান করা হয়েছে: আমি যা করেছি তা এখানে:

  1. "কীচেইন অ্যাক্সেস.এপ" খুলুন (আপনি এটি স্পটলাইট বা লঞ্চপ্যাডে খুঁজে পেতে পারেন)
  2. বিভাগে "সমস্ত আইটেম" নির্বাচন করুন
  3. "গিট" অনুসন্ধান করুন
  4. প্রতিটি পুরানো এবং অদ্ভুত আইটেম মুছুন আবার পুশ করার চেষ্টা করুন এবং এটি ঠিক কাজ করেছে

উপরের পদক্ষেপগুলি অনায়াসের জন্য @ স্পায়ার থেকে অনুলিপি করা হয়।


6

আমি সমাধানটি @ স্পায়ার সরবরাহের মতোই পাই যা পুরানো ব্যবহারকারীর নাম সংরক্ষণ করা কীচেইন অ্যাক্সেস অ্যাপ্লিকেশন।

এই পরিস্থিতির জন্য 2 টি সমাধান রয়েছে:

  1. দ্বারা কীচেইন অ্যাক্সেসের তথ্য মুছুন
    • কীচেন অ্যাক্সেস অ্যাপ্লিকেশনটি খুলুন
    • গিথুব অনুসন্ধান করুন
    • সংশ্লিষ্ট শংসাপত্রগুলি মুছুন

অথবা

  1. আপনি যদি ব্যবহার করেন ssh কী ব্যবহার করতে চান । আপনি কেবল https থেকে আপনার রেপো url পরিবর্তন করেছেন

https://github.com/username/repo.git

মধ্যে

git@github.com: ব্যবহারকারীর নাম / repo.git

আশাকরি এটা সাহায্য করবে.


2

আমি সম্প্রতি আমার মেশিনে পুরানো রেপো যা https ব্যবহার করে ধাক্কা দিয়েছিল তা নিয়ে এই সমস্যাটি নিয়েছিলাম into 5 এবং 6 ধাপে আমার রেপোর জন্য রিমোট url টি পুনরায় সেট করে এসএসএস ইউআরএল থেকে https ইউআরএল পুনরায় সেট করে আমার সমস্যার সমাধান করেছে

রিমোটটি পরীক্ষা করা https ইউআরএল ব্যবহার করছে

> git remote -v
origin  https://github.com/ExampleUser/ExampleRepo.git (fetch)
origin  https://github.com/ExampleUser/ExampleRepo.git (push)

তারপরে ssh url ব্যবহার করতে উত্সটিকে পুনরায় সেট করুন

> git remote set-url origin git@github.com:ExampleUser/ExampleRepo.git

নতুন রিমোট যাচাই করা হচ্ছে

> git remote -v
origin  git@github.com:ExampleUser/ExampleRepo.git (fetch)
origin  git@github.com:ExampleUser/ExampleRepo.git (push)

সফলভাবে এখন পারে git push -u origin

আমি এখনও নিশ্চিত নই যে আমি কোন সেটিংটি পরিবর্তন করে ফেলেছি যা দূরবর্তীটি https থাকা অবস্থায় ধাক্কাটি ব্যর্থ হতে পারে তবে এটিই ছিল আমার সমস্যার সমাধান


ত্রুটি: অবাস্তব / সিন্থেটিক-কম্পিউটার-দৃষ্টিভঙ্গিতে অনুমতি মোনাজালালকে অস্বীকার করা হয়েছে। মারাত্মক: দূরবর্তী সংগ্রহস্থল থেকে পড়া যায়নি। দয়া করে নিশ্চিত হয়ে নিন যে আপনার কাছে সঠিক অ্যাক্সেসের অধিকার রয়েছে এবং ভান্ডার রয়েছে।
মোনা জালাল

1

আপনার মতো সমস্যাও আমার ছিল। গুগলিংয়ের দীর্ঘ সময় ব্যয় করার পরে আমি জানতে পারি যে আমার ত্রুটিটি একাধিক ব্যবহারকারীর দ্বারা হয়েছিল যা তাদের অ্যাকাউন্টে একই কী যুক্ত করেছিল।

সুতরাং, এখানে আমার সমাধানটি: ভুল ব্যবহারকারীর এসএস-কী মুছুন (আমি এটি করতে পারি কারণ ভুল ব্যবহারকারীও আমার অ্যাকাউন্ট is যদি ভুল ব্যবহারকারী আপনার অ্যাকাউন্ট না হয় তবে আপনার এসএস-কী পরিবর্তন করতে হবে, তবে আমার মনে হয় না এটি ঘটবে।

এবং আমি মনে করি আপনার সমস্যাগুলির কারণ আপনার অ্যাকাউন্টের নামটিতে একটি ভুল টাইপ ত্রুটি হতে পারে।


0

এই সমস্যাটি এর ফলেও ঘটে:

আপনি যদি কোনও ম্যাক / লিনাক্সে থাকেন এবং আপনার ~ / .ssh / কনফিগারেশনে 'কন্ট্রোলমাস্টার' ব্যবহার করছেন, সেখানে কিছু এসএসএস নিয়ন্ত্রণ মাস্টার প্রক্রিয়া চলমান থাকতে পারে।

তাদের খুঁজে পেতে, চালান:

ps aux | grep '\[mux\]'

এবং প্রাসঙ্গিকদের হত্যা।


0

আমিও এটির মধ্যে দৌড়েছি, আমার জন্য এটি কী ঘটেছে তা হ'ল রেপো ক্লোন করার সময় আমি আমার পরিবর্তনগুলিতে চাপ দিচ্ছিলাম, সাইন ইন না করে আমি একটি ছদ্মবেশী ট্যাব থেকে ক্লোন ইউআরএল তুলেছিলাম ( এটি কোনও কারণে গিটকে অন্য ব্যবহারকারীর অ্যাকাউন্ট বাছাই করতে পরিচালিত করেছিল। আমি যখন সঠিক সাইন ইন করা পৃষ্ঠায় এটি আবার চেষ্টা করি তখন এটি আমার জন্য যথারীতি কাজ করে।


0

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

অবশেষে ট্র্যাভিস অ্যাকাউন্টের সাথে সম্পর্কিত গিটহাবের ব্যক্তিগত অ্যাক্সেস টোকেনpublic_repo স্কোপ অ্যাক্সেসের অনুমতি দিয়ে আপডেট করে আমি সমস্যার সমাধান করেছি :

<কোড> সর্বজনীন_আরপো </ কোড> নির্বাচন করুন

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