গিথুব অনুমতি অস্বীকার করেছে: ssh অ্যাড এজেন্টের কোনও পরিচয় নেই


148

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

git clone git@github.com:dhulihan/league-of-legends-data-scraper.git
Cloning into 'league-of-legends-data-scraper'...
Permission denied (publickey).
fatal: Could not read from remote repository.

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

অনুমতি অস্বীকার করার বিষয়ে আমি গিথুব পৃষ্ঠায় দেওয়া নির্দেশাবলী অনুসরণ করার চেষ্টা করেছি।

আমি যখন ব্যবহার করি তখন আমি ssh -vT git@github.comনিম্নলিখিতগুলি পাই:

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /Users/XXXX/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/XXXX/.ssh/id_rsa
debug1: Trying private key: /Users/XXXX/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).

এরপরে, eval "$(ssh-agent -s)""এজেন্টের পিড 2314" প্রদান করে, তবে ssh-add -lফেরত দেয় "এজেন্টের কোনও পরিচয় নেই।"

আর সেখানেই আমি আটকে আছি।


আপনি কি একটি এসএসএইচ কী তৈরি করেছেন? আপনি কি এটি আপনার গিথব অ্যাকাউন্টের সাথে তালিকাভুক্ত করেছেন? আপনার ম্যাকের কী আছে?
এটান রেইজনার

আমি সেই প্রশ্নের উত্তর খুঁজছিলাম (এই পুরো সিস্টেমটির সাথে পরিচিত নয়), এবং এটি পেয়েছি: mac.github.com এটি আমার সমস্ত সমস্যার সমাধান করেছে। আমি এটি সুপারিশ। সঠিক দিকে ধাক্কা দেওয়ার জন্য ধন্যবাদ, এটান!
ডার্ক

4
আপনি এই প্রশ্নের একটি উত্তর যুক্ত করতে পারেন (এটি কীভাবে আপনার সমস্যার সমাধান করেছে সে সম্পর্কে আরও বিশদ সহ) এবং আপনার উত্তরটি গ্রহণ করতে চাইতে পারেন।
এটান রিজনার

ঠিক আছে, আমি উত্তর জমা দিয়েছি। এসও আমাকে বলছে যে আমি এটি 2 ঘন্টার মধ্যেই গ্রহণ করতে পারি।
অন্ধকার

উত্তর:


194

এই উত্তরের সম্পূর্ণ বিবরণ ।

সংক্ষেপে বলা যায়, যখন ssh-add -lআয় "এজেন্ট কোন পরিচয় আছে", এগুলি এটিকে ব্যবহার করে কী মানে ssh(যেমন ফাইলের মধ্যে সংরক্ষণ করা ~/.ssh/id_rsa, ~/.ssh/id_dsaহয় অনুপস্থিত, তখন তাদেরকে পরিচিত না হয় করা হয়, ইত্যাদি) ssh-agent, যা প্রমাণীকরণ প্রতিনিধি, বা যে তাদের অনুমতির ভুলভাবে সেট করা আছে (উদাহরণস্বরূপ, বিশ্ব লিখনযোগ্য)।

আপনার কি অনুপস্থিত হয় অথবা যদি আপনি কোন উত্পন্ন নি, ব্যবহার করেন তাহলে ssh-keygen -t rsa, তারপর ssh-addতাদের যোগ করার।

যদি কীগুলি বিদ্যমান থাকে তবে এটি পরিচিত না হয় ssh-agent(যেমন তারা মানহীন ফোল্ডারে থাকে তবে) ssh-add /path/to/my-non-standard-ssh-folder/id_rsaসেগুলি যুক্ত করতে ব্যবহার করুন।

আপনার যদি সমস্যা হয় বা  হয় তবে এই উত্তরটি দেখুন ।ssh-addssh-agent


4
একটি সুন্দর এবং সংক্ষিপ্ত উত্তরের লিঙ্কের জন্য আপনাকে ধন্যবাদ ডোডয়ে। এবং যাঁদের কী (যেমন একাধিক গিট অ্যাকাউন্ট) রয়েছে তাদের ssh-add /path/to/keyXজন্য আপনার প্রত্যেকটির জন্য বিশেষত ব্যবহার করতে হবে, বিশেষত যদি তাদের অ-মানক নাম থাকে। এখানে বিবরণ: stackoverflow.com/questions/3225862/... (একটা চমৎকার উত্তর)
tuk0z

এর জন্য ধন্যবাদ. আমি এখানে আটকে গেলাম .. তবে আমি বুঝতে পেরেছিলাম যে সমস্যার অনুমোদনের অংশটি সমাধান করার পরে আমাকে ssh-add আবার দৌড়াতে হবে । এর পরেও ssh -vT git@github.comকাজ হয়নি। আমার উপরে উল্লিখিত মন্তব্যকারীর মতো পরম পথ যুক্ত করা দরকার ছিল না । তারপরে, এটা সব গ্রেভাই ছিল।
জংলেদেব

2
দ্বিতীয় যদি আমি আমার পাসফ্রেজ ভুলে গেছি এবং আমি তা ব্যবহার করে এটা উদ্ধার help.github.com/articles/how-do-i-recover-my-ssh-key-passphrase
Malder

111

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

ssh-add ~/.ssh/id_rsa

আমার জন্য কাজ


5
হাই, তাই আপনাকে স্বাগতম। দয়া করে আপনার কোডটি ব্যাখ্যা করুন, যাতে আপনার সহ ব্যবহারকারীরা বুঝতে পারে যে কী চলছে। চিয়ার্স।
চথুলহু

4
আপনি যখন পুনরায় বুট করেন তখন আপনার কীগুলি চলে যায় এবং আপনাকে সেগুলি আবার 'ssh-add' করতে হবে।
লুইকি

@ লাউকি হ্যাঁ ... এটি অত্যন্ত বিরক্তিকর। আপনি কি তার কাছাকাছি উপায় জানেন?
ক্রিস সাইরেফাইস

3
@ ক্রিসিসায়ারফাইসকে স্থায়ীভাবে আপনার কীচেইনে যুক্ত করার জন্য একটি প্যারামিটার দিয়ে এসএস-অ্যাড করুন। ssh-add -K ~ / .ssh / [আপনার ব্যক্তিগত-কী]
লাউউকি

1
আমার ক্ষেত্রে, ব্যক্তিগত কীগুলির জন্য ফাইলের অনুমতিগুলি ভুল ছিল। দ্বারা নির্ধারিত chmod 600 ~/.ssh/id_rsa, তারপরssh-add ~/.ssh/id_rsa
Morteza Ziyae

39

ম্যাকোস সিয়েরা এবং হাই সিয়েরা এবং ক্যাটালিনার জন্য ২০১৫ সালের উত্তর:

পিএস: অন্যান্য উত্তরগুলির বেশিরভাগটিতেই আপনাকে একটি নতুন এসএএস কী তৈরি করতে হবে ... তবে আপনার এটি করার দরকার নেই :)

Https://openradar.appspot.com/27348363 , ম্যাকোস / ওএস এক্স- তে বিশদে বর্ণিত হিসাবে যতক্ষণ না যোসামাইট এসএসএইচ কীগুলি কমান্ড দ্বারা যুক্ত মনে রাখেssh-add -K <key>

কাজ করার জন্য আমাকে যে 4 টি পদক্ষেপ নিতে হয়েছিল তা এখানে:

1: ssh-add ~/.ssh/PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)

2: নিম্নলিখিতটি যুক্ত করুন~/.ssh/config

Host * 
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile PATH_TO_YOUR_SSH_PRIVATE_KEY (e.g. ~/.ssh/id_rsa)

3: অক্সকিচেইন সহায়ক ব্যবহার করে এমন কোনও গিটকনফিগ এন্ট্রি মুছে ফেলার বিষয়টি নিশ্চিত করুন:

 https://github.com/gregory/dotfiles/commit/e38000527fb1a82b577f2dcf685aeefd3b78a609#diff-6cb0f77b38346e0fed47293bdc6430c6L48

4: এটি কার্যকর হওয়ার জন্য আপনার টার্মিনালটি পুনরায় চালু করুন।


3
দুর্দান্ত উত্তর, আমি নিজেই এটি উল্লেখ করতে যাচ্ছি! স্পষ্টতই, ওএস এক্স 10.12.2 এবং তারপরে স্বয়ংক্রিয়ভাবে পরিচয়গুলি ssh-এজেন্টে লোড করে না (যা আমি ব্যক্তিগতভাবে মনে করি সত্যিকারের বোকামি ব্যবহারের সিদ্ধান্ত, তবে আমি সুরক্ষা সম্পর্কিত প্রভাবগুলি বুঝতে পারি)। সুতরাং, এগুলি ম্যানুয়ালি লোড করার জন্য আপনাকে এসএসএইচ কনফিগারেশনটি পরিবর্তন করতে হবে। আমি কেবল ত্রুটি আউটপুট ইন্টারনেট অনুসন্ধানের এক ঘন্টা না হয়ে সমাধানের পক্ষে আরও ভাল করে তুলতে চাই।
ক্রিস সাইরাফাইস

12

একই সমস্যাটিতে আমি কিছুক্ষণ আটকে গিয়েছি, যা আমি শেষ পর্যন্ত সমাধান করেছি।

আমার সমস্যা : আমি কোনও ধাক্কা কার্যকর করতে পারি না। আমি আমার দূরবর্তীটি (ব্যবহার করে git remote -v) যাচাই করতে ও দেখতে পেতাম , কিন্তু যখন আমি মৃত্যুদন্ড কার্যকর করি তখন git push origin masterতা ফিরে আসে: Permission denied (publickey). fatal: Could not read from remote repository.এবং তাই।

আমি কীভাবে এটি সমাধান করেছি:

  • আমি একটি কী ব্যবহার করে তৈরি করেছিssh-keygen -t rsa । কী ফাইলটির জন্য একটি নাম প্রবেশ করানো (যখন জিজ্ঞাসা করা হয়েছিল) অকার্যকর ছিল।
  • আমি তখন কীটি (গিটকে) যোগ করতে পারি : ssh-add /Users/federico/.ssh/id_rsaযা সফলভাবে ফিরে এসেছেIdentity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
  • আমি এই সহায়তা পৃষ্ঠাটি ব্যবহার করে গিথুবে এসএসএইচ কীটি যুক্ত করেছি
  • গিথুবের 'অনুমতি অস্বীকৃত পাবলিককি' সহায়তা পৃষ্ঠাতে সমস্ত কমান্ড চেষ্টা করে, কেবল ssh-add -lকমান্ডটি কাজ করেছিল / দরকারী বলে মনে হয়েছিল (পূর্ববর্তী পদক্ষেপগুলি চালানোর পরে), এটি সফলভাবে আমার চাবিটি ফিরিয়ে দিয়েছে। সর্বশেষ পদক্ষেপটি আপনাকে দেখায় যে আপনার গিটহাব পৃষ্ঠায় আপনার সর্বজনীন কীটি পরীক্ষা করতে হবে। আর এই কমান্ড আপনি আপনার সমস্ত কী পরীক্ষা সহায়তা করবে: ls -al ~/.ssh

তাহলে শেষ পর্যন্ত পুশ কমান্ড কাজ করেছিল!

আমি আশা করি এটি সাহায্য করবে! সবার জন্য শুভকামনা।


7

নিম্নলিখিত আদেশগুলি চালান:

ssh-keygen -t rsa
ssh-add /Users/*yourUserNameHere*/.ssh/id_rsa** 
pbcopy < ~/.ssh/id_rsa.pub**

আপনার গিথুব অ্যাকাউন্টে যান: https://github.com/settings/profile

1) ক্লিক করুন: এসএসএইচ এবং জিপিজি কী

2) নতুন এসএসএইচ কী এবং সেখানে এটি অতীত করুন

3) এসএসএইচ কী যুক্ত করুন

সম্পন্ন!


হ্যাঁ - আপনি যদি id_rsa.pub ফাইল তৈরির অন্যান্য পদক্ষেপগুলি অতিক্রম করে থাকেন তবে সেই পিবিসিপি লাইনটি অনুলিপি করুন এবং আটকান, যা আপনার ক্লিপবোর্ডের চাবিটি অনুলিপি করে এবং @ জোহায়ের নির্দেশাবলী অনুসরণ করে - গিথুবকে আপনার কীটি জানা দরকার। বিশেষত যদি আপনি 2 এফএ ব্যবহার করছেন।
ডেভিড্রইন

আমি কিছুটা বিভ্রান্ত কারণ বর্তমান ডক্স বলছে গিট গিথুব_আর্সা / গিথুব_আর্সা.পাব তৈরি করে। আমার / এসএসএইচ ডিরেক্টরিতে আমার উভয় আছে এবং এখনও আমি "অনুমতি পেয়েছি" বলে মনে করতে পারি না। আমি একই ডিরেক্টরিতে অনুলিপি id_rsa ব্যবহার করে তৈরি করেছি।
মার্ক লুয়ে

6


ম্যাকের মধ্যে আপনার টার্মিনালটিতে বা উইন্ডোতে যা কিছু ব্যবহার করুন নিম্নলিখিত কমান্ডের জন্য আপনাকে প্রথমে আপনার ssh ডিরেক্টরিতে যেতে হবে

cd ~/.ssh

এখন এটি
এখানে ssh এ আপনি আপনার সমস্ত প্রকল্পের সাথে সম্পর্কিত সমস্ত ssh কী / ফাইলগুলি খুঁজে পেতে পারেন। এখন, ssh কী উপলব্ধ কিনা তা আপনাকে দেখানোর জন্য নীচের কমান্ডটি টাইপ করুন

ls

এটি আপনাকে সমস্ত উপলভ্য ssh দেখিয়ে দেবে, আমার ক্ষেত্রে
এখন দুজন ছিল , এতে একটি এসএসএস যোগ করার জন্য আপনাকে এজেন্ট শুরু করতে হবে। এই ধরণের নিম্নলিখিত কমান্ডের জন্য

eval "$(ssh-agent -s)"

এখন শেষ কিন্তু কমপক্ষে আপনি এই এজেন্ট টাইপ নিম্নলিখিত কমান্ড একটি ssh যোগ করতে হবে

ssh-add ~/.ssh/your-ssh

প্রতিস্থাপন করা

আপনার ssh ফাইলের নামের সাথে আপনার ssh প্রতিস্থাপন করুন যা আপনি দ্বিতীয় ধাপে একটি তালিকা ফর্ম পেয়েছেন got ls command


5

এটি কোনও নতুন টার্মিনালের জন্য কারণ হতে পারে, এজেন্ট আইডি পৃথক। এজেন্টের জন্য আপনাকে ব্যক্তিগত কী যুক্ত করতে হবে

$ ssh-add <path to your private key>

1

একটি অতিরিক্ত উপাদান যা আমি বুঝতে পেরেছি তা হল ম্যাক ওএস এক্স / ব্যবহারকারী / এ আপনার মূল ফোল্ডারে সাধারণত .ssh ফোল্ডারটি তৈরি করা হয়। আপনি যদি অন্য ফোল্ডার থেকে ssh -vT git@github.com ব্যবহার করার চেষ্টা করেন তবে আপনি সঠিক কীটি যুক্ত করলেও এটি আপনাকে একটি ত্রুটি দেয়।

সাফল্যের সাথে প্রমাণীকরণের জন্য আপনাকে বর্তমান ফোল্ডারটি থেকে আবার চাবিটি যুক্ত করতে হবে (গডে আপনার প্রোফাইলটিতে কীটি ইতিমধ্যে আপলোড করেছেন বলে ধরে নেওয়া)


1

এটি আমার পক্ষে কাজ করেছে:
chmod 700 .ssh chmod 600 .ssh/id_rsa chmod 644 .ssh/id_rsa.pub

তারপরে, এটি টাইপ করুন: ssh-add ~/.ssh/id_rsa


আমি মনে করি না যে প্রশ্নটি ~/.sshঅনুমতি সম্পর্কে । তবুও, আপনি সম্পূর্ণ কমান্ড (এখানে chmod) যুক্ত করে এবং এটি কী করে এবং কেন এটির প্রয়োজন তা ব্যাখ্যা করে আপনি নিজের উত্তরকে ব্যাপকভাবে উন্নত করতে পারেন ।
রবার্ট

0

দীর্ঘ সময় ধরে লড়াই করার পরে অবশেষে আমি উইন্ডোজে এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি, আমার জন্য ব্যবহারকারী এনভির ভেরিয়েবল GIT_SSH এ নির্দেশ করেছিল

"সি: \ প্রোগ্রাম ফাইল (x86) \ WinScp \ পুটি \ plink.exe"

যা উইনএসসিপি সহ ইনস্টল করা হয়েছিল। আমি ডিফল্ট ssh.exe ব্যবহার করার জন্য পয়েন্টিং পরিবর্তন করেছি যা গিট- স্কেম "সি: \ প্রোগ্রাম ফাইলস \ গিট \ ইউএসআর \ বিন \ ssh.exe" এর সাথে আসে


0

বিটবাকেটের জন্য পদক্ষেপগুলি:

আপনি যদি নতুন কী উত্পন্ন করতে না চান তবে এসকেপ-এস-এস-কীজেন

ssh-keygen -t rsa 

ক্লিপবোর্ডে সর্বজনীন কী অনুলিপি করুন:

clip < ~/.ssh/id_rsa.pub

বিট বালতিতে লগইন করুন: প্রোফাইলটি দেখুন -> সেটিংস -> এসএসএইচ কী (সুরক্ষা ট্যাবে) কী যুক্ত করুন ক্লিক করুন, বাক্সে কীটি আটকান, বর্ণনামূলক শিরোনাম যুক্ত করুন

গিট বাশে ফিরে যান:

ssh-add -l

আপনি পাওয়া উচিত :

2048 SHA256:5zabdekjjjaalajafjLIa3Gl/k832A /c/Users/username/.ssh/id_rsa (RSA)

এখন: git pullকাজ করা উচিত


0

ব্যাকআপ থেকে হার্ড ড্রাইভ পুনরুদ্ধার করার পরে আমার এই সমস্যাটি ছিল।

আমার সমস্যা: আমি আমার রিমোটটি পরীক্ষা করতে এবং দেখতে পেয়েছি (গিট রিমোট-ভি ব্যবহার করে), কিন্তু যখন আমি গিট পুশ অরিজিন মাস্টারকে মৃত্যুদন্ড কার্যকর করি তখন তা ফিরে আসে: অনুমতি অস্বীকার (পাবলিককি)। মারাত্মক: দূরবর্তী সংগ্রহস্থল থেকে পড়া যায়নি।

আমার ইতিমধ্যে একটি এসএসএইচ ফোল্ডার এবং এসএসএইচ কী রয়েছে এবং টার্মিনালের মাধ্যমে সেগুলি যুক্ত করা ( ssh-add /path/to/my-ssh-folder/id_rsa) সফলভাবে আমার পরিচয় যুক্ত করেছে তবে আমি এখনও ঠেলাতে পারি নি এবং তবুও একই ত্রুটি পেয়েছি। একটি নতুন কী তৈরি করা আমার পক্ষে একটি খারাপ ধারণা ছিল, কারণ এটি এডাব্লুএস-এর অন্যান্য খুব সুরক্ষিত অনুমতিগুলির সাথে আবদ্ধ ছিল।

এটি কী এবং আমার গিথুব প্রোফাইলটি ভেঙে দিয়েছিল।

সমাধান: প্রোফাইল> সেটিংস> এসএসএইচ এবং জিপিজি কীগুলিতে গিথুব-এ কীটি পুনরায় যুক্ত করা সমস্যার সমাধান করেছে।

এছাড়াও: আমার অ্যাকাউন্টে 2-ফ্যাক্টর প্রমাণীকরণ সেট আপ হয়েছিল। যখন এটি হয়, যদি টার্মিনাল শংসাপত্রগুলির জন্য অনুরোধ করে, আপনার ব্যবহারকারী নাম ব্যবহার করুন - তবে আপনার গিথুব পাসওয়ার্ড নয়। 2-ফ্যাক্টর প্রমাণীকরণের জন্য আপনার নিজের প্রমাণীকরণ কোডটি ব্যবহার করতে হবে (আমার জন্য এটি আমার ফোনে অথি তৈরি করেছিলেন এবং পিডব্লিউয়ের জন্য আমাকে এটি টার্মিনালে অনুলিপি করতে হয়েছিল)।

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