গিট প্রমাণীকরণ 2 এফএ সক্ষম করার পরে ব্যর্থ হয়


102

আমি সবেমাত্র 2 এফএ সক্ষম করেছি (আমার করা অন্য কোনও পরিবর্তন সম্পর্কে আমি ভাবতে পারি না) এবং গিটটি আমার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চেয়েছিল for আমি উভয় সরবরাহ, কিন্তু তারা "ভুল" ছিল। আমি এখানে অনেকগুলি সমাধান চেষ্টা করেছিলাম: গিট পুশের জন্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড প্রয়োজন তবে এটি কার্যকর হয়নি। বিশেষত, https থেকে ssh এ স্যুইচ করার সময়, ssh কী দেয়

অনুমতি অস্বীকৃত (পাবলিককি)। মারাত্মক: দূরবর্তী সংগ্রহস্থল থেকে পড়া যায়নি।

$ git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

Username for 'https://github.com': **********
Password for 'https://mlbileschi@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/mlbileschi/scala.git/'

কোন টিপস?


4
"অনুমতি অস্বীকার করা হয়েছে (পাবলিককি) fat মারাত্মক: দূরবর্তী সংগ্রহস্থল থেকে পড়া যায়নি।" একটি পৃথক সমস্যা যা আপনার অ্যাকাউন্টের জন্য এসএসএইচ কী স্থাপন করে সমাধান করা যেতে পারে: help.github.com/articles/…
Ajedi32

4
প্রায়শই এটি একটি 2 এফএ সমস্যা নয় তবে পরিবর্তে https থেকে
গিটে

উত্তর:


137

আপনার একটি অ্যাক্সেস টোকেন তৈরি করতে হবে। আপনি আপনার সেটিংস পৃষ্ঠায় গিয়ে একটি তৈরি করতে পারেন ।

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

কমান্ড লাইনে আপনার পাসওয়ার্ড হিসাবে এই অ্যাক্সেস টোকেনটি ব্যবহার করুন।


এইচএম, আমি চেষ্টা করেছি যে https- এ সেট-url করার পরে, এবং এটি কার্যকর হয়নি। আমি সেট-ইউআরএলকে আবার এসএসএসেও চেষ্টা করেছি এবং .ssh / ज्ञात_হোস্টস এন্ট্রি সরিয়েছি, কিন্তু কোনও ফলসই হয়নি।
ম্যাক্স বিলেসচি

আপনি কি আপনার প্রশ্নে কমান্ড লাইন আউটপুট যুক্ত করতে পারেন? আপনি যে আদেশগুলি সম্পাদন করছেন তা সহ Inc
জার্গো এরদোসি

আউটপুটটি যোগ করা হয়েছিল
ম্যাক্স বিলেসচি

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

আমি The requested URL returned error: 403পাসওয়ার্ডের জন্য টোকেনটি ব্যবহার করার সময় পেয়েছি https
স্টেলিওস

39

একটি শেষ থেকে শেষ সমাধান 3 টি পদক্ষেপ নেয়।

  1. কুডোস টু জেরগো এরদোসিকে। তাঁর উত্তর মূলত সঠিক, গিথুব সেটিং পৃষ্ঠাটি পরিবর্তন করেছেন। ২০১ late সালের শেষের দিকে, আপনার ব্যক্তিগত অ্যাক্সেস টোকেন পৃষ্ঠা থেকে আপনার অ্যাক্সেস টোকেন তৈরি করতে হবে ।

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

    কমান্ড লাইনে আপনার পাসওয়ার্ড হিসাবে এই অ্যাক্সেস টোকেনটি ব্যবহার করুন।

  2. আপনি আপনার ব্যবহারকারীর নামটিকে আপনার প্রকল্পের রিমোট url এ অন্তর্ভুক্ত করে চালিয়ে যেতে পারেন। এটি করার একটি উপায় হ'ল নিম্নলিখিত বিন্যাসে লাইনটি .git/configপরিবর্তন করতে আপনার সম্পাদনা urlকরা:

    url = https://YOUR_USERNAME_HERE@github.com/owner/repo.git

  3. আপনি একবারে এটি চালিয়ে নিজের পাসওয়ার্ডটি চালিয়ে যেতে পারেন:

    $ git config credential.helper store

    এবং তারপরে আপনার ভবিষ্যতের গিট পাসওয়ার্ড (গুলি) বিন্যাসটি ব্যবহার করে plain / .git- শংসাপত্রগুলিতে plain / .git- শংসাপত্রগুলিতে সংরক্ষণ করা হবে https://user:PlaintextPassword@example.com

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

পিএস: বিকল্পভাবে, আপনি একটি পাসফ্রেজ-সুরক্ষিত এসএসআই প্রাইভেট কী ব্যবহার করে এসএস-ভিত্তিক লগইন ব্যবহার করতে বেছে নিতে পারেন যা আরও সুরক্ষিত এবং কম সুবিধাজনক হবে তবে এটি এই উত্তরটির বাইরে নয় outside


4
এটি আমার পক্ষে কাজ করেছে এবং প্রতিবার আমি গিটারের সাথে ইন্টারেক্ট করার সময় আন টাইপ করতে এবং পিডাব্লু না করতে সক্ষম করে। আমি সাইগউইনের সাথে উইন্ডোজ ব্যবহার করি এবং এসএসএস কীগুলি কখনই কাজ করতে সক্ষম হয় নি - এটি করে!
liltitus27

সর্বশেষ প্যারা সম্পর্কে: ...the credential is NOT your real password, it is a randomly generated string. So it is as secure as using ssh private key.- এটি মোটেও সত্য নয় । এসএসএইচ কীগুলি বাক্সের বাইরে পাসফ্রেজের মাধ্যমে সহজেই সুরক্ষিত করা যেতে পারে । সরল ~./git-credentials- মোটেই সুরক্ষিত হয় না!
ম্যাক্সকুরিউকভ

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

@ ম্যাক্সকুরিউকভ ঠিক আছে, আমি কীভাবে শেষ বাক্যটিকে "পাসফ্রেজ-কম এসএসআই প্রাইভেট কী ব্যবহার করার মতো সুরক্ষিত" হিসাবে পুনরায় লিখব? কারণ ৩ য় পদক্ষেপের পুরো বিন্দু একটি পাসওয়ার্ডের জন্য প্রম্পটটি বাইপাস করার চেষ্টা করছে (ধরে নিই যে আপনি নিজের কম্পিউটারে কাজ করছেন অবশ্যই)। সেক্ষেত্রে যদি কেউ আপনার ~ / .git- শংসাপত্রগুলি বা আপনার পাসফ্রেজ-কম এসএসএস প্রাইভেট কী ধরে রাখার ব্যবস্থা করে তবে ফলাফলটি একই। আমি আপনার সাথে একমত হই যে একটি পাসফ্রেজ-সুরক্ষিত এসএসএস কী আরও সুরক্ষিত হবে (এবং কম সুবিধাজনক)।
রায়লুও

@ রায়লুও, এলজিএফএম;)
ম্যাক্সকরিউকোভ

17

আমারও একই সমস্যা ছিল। আমার ইউজারনেমটি অন্তর্ভুক্ত করতে আমাকে গিট কমান্ডে ব্যবহৃত ইউআরএলটি পরিবর্তন করতে হয়েছিল।

git push https://YOUR_USERNAME_HERE@github.com/mlbileschi/scala.git

তারপরে যখন এটি পিডাব্লুয়ের কাছে জার্গো এরদোসির উত্তরের নির্দেশাবলী অনুসরণ করে আপনি যে অ্যাক্সেস টোকেন তৈরি করেছেন তা ব্যবহার করার জন্য জিজ্ঞাসা করবে।


4
এটি আমার পক্ষে কাজ করে তবে আমি যদি git remote set-url --push originএকই মান দিয়ে সেট করার চেষ্টা করি তবে git push origin masterএখনও ব্যর্থ হয়।
দানিমাল

জেসেস্টারের বর্ণনা অনুসারে দূরবর্তী পথে আমার ব্যবহারকারীর নাম অন্তর্ভুক্ত করার পরেও আমার পক্ষে কাজ করে।
ovo

এটি উইন্ডোজ কমান্ড প্রম্পটে আমার পক্ষে কাজ করে নি, তবে অভ্যন্তরে ভাল git-bashকাজ করেছে
ভিনসেন্ট টাং

উবুন্টুতে আমার জন্য পুরোপুরি কাজ করেছেন। ধন্যবাদ!
রায়ান রাসেল

আপনি যদি https: // <token> @github ... এ সরাসরি টোকন ব্যবহার করেন তবে এখনও কাজ করে
প্যাট্রিক

14

আপনি একটি এসএসএইচ কী (লিনাক্স এবং উইন্ডোজ উভয়তেই) সেট করতে পারেন

Windows উইন্ডোজ ব্যবহারকারীদের জন্য নোট
নিশ্চিত করুন যে HOMEপরিবেশের পরিবর্তনশীল সংজ্ঞায়িত হয়েছে এবং আপনার ব্যবহারকারীর ডিরেক্টরিতে সেট করা আছে
যেমন C:\Users\jossef( আরও জানুন )


1) একটি নতুন এসএসএইচ কী তৈরি করা ( উত্স )

টার্মিনাল / সেন্টিমিডি খুলুন এবং নীচের পাঠ্যটি পেস্ট করুন (আপনার গিটহাব ইমেল ঠিকানা দিয়ে প্রতিস্থাপন করুন)

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

2) আপনার গিটহাব অ্যাকাউন্টে সর্বজনীন কীটি লিঙ্ক করুন

  • লিনাক্স / ম্যাকোজে, টার্মিনালটিতে চালান:

    cat ~/.ssh/id_rsa.pub
    
  • উইন্ডোজে, সেমিডিতে চালান:

    type %HOME%\.ssh\id_rsa.pub
    

এটি পাবলিক কী আউটপুট দেবে:

ssh-rsa AAAAB3NzaC1y ... mKAKw== your_email@example.com

Https://github.com/settings/keys এ নেভিগেট করুন

  • ক্লিক New SSH Key
  • এটি একটি উপাধি দিন
  • পূর্ববর্তী কমান্ড আউটপুট থেকে সর্বজনীন কী অনুলিপি করুন

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


3) থেকে উৎপত্তি Git পরিবর্তন https://করতেssh

টার্মিনাল / সেন্টিমিডি এবং cdআপনার ক্লোন করা সংগ্রহস্থল ডিরেক্টরিতে খুলুন এবং রান করুন:

git remote set-url origin git@github.com:<github username>/<repository name>

4
সত্য, তবে প্রশ্নের সাথে অপ্রাসঙ্গিক। এর মাধ্যমে প্রমাণীকরণগুলি httpsকখনও কখনও ব্যবহারযোগ্য, যেমন httpsআপনার কাঁটাচামচটি উপরের দিকে রাখার সময় প্রবাহিত রাখার সময় sshযাতে আপনি দুর্ঘটনাক্রমে উজানে প্রবাহিত হওয়া https
এড়ান

3

এটি আমার পক্ষে কাজ করেছে:

  • [আপনার গিট-রেপো] /। গিট / কনফিগারে যান

  • HTTP প্রোটোকল থেকে গিটটিতে কীটি [remote "origin"]পরিবর্তন করুন UnderURL

উদাহরণ

মানটির মান urlযদি https://github.com/ .git এ পরিবর্তন করুনgit@github.com:<repo-url>.git


3

আপনি যদি ইতিমধ্যে ssh কী ব্যবহার করেন তবে 2 এফএ সক্ষম করার পরে এটি আপনাকে এসএসএইচ সহ রিমোট পড়তে / লিখতে বাধ্য করে। আপনার সত্যিকারের ব্যক্তিগত টোকেন যুক্ত করার প্রয়োজন নেই বরং আপনার বিদ্যমান এসএসএইচ কী জুটিটি ব্যবহার করে চলুন।

এইচটিটিপিএস থেকে এসএসএইচে আপনার রিমোট url পরিবর্তন করুন:

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

0

গিথুবে 2 এফএ সক্ষম করার পরে এটি আমার পক্ষে কাজ করেছে:

  1. একটি ব্যক্তিগত অ্যাক্সেস টোকন তৈরি করুন: https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line
    দ্রষ্টব্য: টোকেনের জন্য সঠিক অনুমতিগুলি নির্বাচন করতে ভুলবেন না।

  2. চালান:
    git clone https://github.com/username/repo.git
    ব্যবহারকারীর নাম: your_username
    পাসওয়ার্ড:your_token

আরও পড়া: https://help.github.com/en/github/using-git/Wich-remote-url-should-i-use


0

আমি আমার রেজিস্ট্রি রেपोগুলির জন্য যখন 2 এফএ (দুটি ফ্যাক্টর প্রমাণীকরণ) সক্ষম করেছিলাম তখন বিদ্যমান রেপোতে আমি এই সমস্যার মুখোমুখি হয়েছি। আমার উবুন্টু 19.0 টার্মিনালের নীচের পদক্ষেপগুলি অনুসরণ করে আমি এটি সমাধান করতে সক্ষম হয়েছি: -

  1. আপনার ssh কীটি গিথুব এ যুক্ত করুন যাতে আপনার এখন আবার পাসওয়ার্ড ব্যবহার করার প্রয়োজন হয় না, যেমন আপনি এখনই 2 এফএ সক্ষম করেছেন। কীভাবে এটি সহজে করবেন তা জানতে গিথুব পৃষ্ঠায় যান।
  2. একবার কী যুক্ত হয়ে গেলে, আপনার টার্মিনালে যান এবং মূল url আপডেট করুন

    git remote set-url origin git@github.com:<USERNAME>/<BRANCH-NAME>

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

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