গিট আমাকে একটি পাসওয়ার্ডের জন্য অনুরোধ জানায়


665

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

আমি ম্যাক ওএস এক্স এবং গিটহাব ব্যবহার করছি এবং গিটহাবের সেট আপ গিট পৃষ্ঠা অনুসারে আমি গিট এবং আমার এসএসএইচ কীগুলি সেট আপ করছি

গিটহাবের এসএসএইচ কী পাসফ্রেস পৃষ্ঠাতে উল্লিখিত হিসাবে আমি আমার ম্যাক ওএস এক্স কীচেইনে গিথব এসএসএইচ কীটি যুক্ত করেছি । আমার সার্বজনীন কী গিটের সাথে নিবন্ধিত।

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


1
নির্বোধ প্রশ্ন, তবে কি আপনি যাচাই করেছেন যে এসএসএইচ কী যখন গিট দিয়ে মেশিনে কেবল এসএসএস ব্যবহার করে তখন কাজ করে?
কার্ট স্টুটসম্যান

4
আপনি ssh -T git@github.com এর মতো কিছু বলতে চান? হ্যাঁ, এটি ঠিক কাজ করে (কিছুটা ধীর হলে)।
ক্যাথরিন


Https url- এর জন্য আপনি (git1.8.3 + সহ) একটি গিট শংসাপত্র সহায়ক ' netrc' ব্যবহার করতে পারেন । এখানে একটি সম্পূর্ণ উদাহরণ দেখুন ।
ভোনসি

আমি একজন উইন্ডোজ ব্যবহারকারী এবং সার্ভারের অনুমোদিত_কিজ ফাইলগুলিতে আমার সর্বজনীন কী যুক্ত করার পরেও আমি পাসওয়ার্ড অনুরোধের সমস্যার মুখোমুখি হয়েছি। আসলেই সমস্যাটি হ'ল আমি আমার পাবলিক / প্রাইভেট কীগুলি সি: \ প্রোগ্রাম ফাইলগুলি \ গিট ফোল্ডার এর .ssh ফোল্ডারে রাখছি না। যদি কেউ এ জাতীয় সমস্যার মুখোমুখি হন তবে দয়া করে আপনার কীগুলি এই ফোল্ডারে অনুলিপি করুন এবং চাপ / টানতে চেষ্টা করুন।
রাজা আমের খান

উত্তর:


797

আমি মনে করি আপনার কাছে ভুল গিট সংগ্রহস্থল URL থাকতে পারে।

.git/config[দূরবর্তী "উত্স"] বিভাগটি খুলুন এবং সন্ধান করুন। আপনি এসএসএইচ ব্যবহার করছেন তা নিশ্চিত করুন:

ssh://git@github.com/username/repo.git

তুমি তোমার সংগ্রহস্থলের প্রধান পৃষ্ঠা থেকে, SSH URL দেখতে পারেন যদি আপনি ক্লিক ক্লোন বা ডাউনলোড এবং পছন্দ করে নিন SSH

এবং এক httpsবা gitএক:

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

আপনি এখন ব্যবহারকারীর নাম এবং পাসওয়ার্ডের পরিবর্তে কেবল এসএসএইচ কী দিয়ে বৈধতা দিতে পারেন ।

গিট যদি অভিযোগ করে 'origin' has already been added , খুলতে .configফাইল এবং সম্পাদনা url = "..."অংশ পরে [remote origin]যেমনurl = ssh://github/username/repo.git


একই অন্যান্য সেবা জন্য যায়। ঠিকানাটি দেখতে দেখতে নিশ্চিত করুন:protocol://something@url

যেমন .git/configজন্য আকাশী নীল DevOps:

[remote "origin"]
    url = https://mystore@dev.azure.com/mystore/myproject/
    fetch = +refs/heads/*:refs/remotes/origin/*

4
এটি হতে পারে। আমি যখন গিটকে রিমোট বলি -v আমি পাই: মূল github.com/Foo/Bar.git ( আনুন ) মূল github.com/Foo/Bar.git (ধাক্কা) যখন এসএসএইচের সাথে কাজ করার জন্য মনে হয় এটি হওয়া উচিত: অরিজিন গিট @ github.com: Foo / Bar.git (আনুন) উত্স git@github.com: ফু / বার.git (ধাক্কা) এটি হতে পারে কারণ আমি গিটহাবের ম্যাক অ্যাপ্লিকেশন ( mac.github.com ) ব্যবহার করে মূলত আমার প্রকল্পটি পরীক্ষা করেছিলাম । কোন ধারণা আমি কীভাবে এটি ঠিক করতে পারি?
ক্যাথরিন

8
হয় .git / কনফিগারেশন ফাইলে ইউআরএল ঠিক করুন, এটি ঠিক করতে গিট-রিমোট ব্যবহার করুন, বা আপনার স্থানীয় রেপো মুছুন এবং সঠিক URL সহ এটি আবার ক্লোন করুন।
স্থিতিশীল_আর্টি

91
কেবল এটির বানানটি (যেমনটি আমার এটি প্রয়োজন ছিল): .git / কনফিগার করুন এবং [remote "origin"]বিভাগে সেট করুন url = ssh://git@github.com/username/Repo.git। এটা আমার জন্য কাজ করেছে।
গ্রেগ কে

13
অদ্ভুত, @ গ্রেগের সমাধানটি আমার পক্ষে কার্যকর url = git@github.com:organization/Repo.gitহয়নি , তবে কাজ করেছে। আমাকে সঠিক পথে নামানোর জন্য +1! সফল!
jmort253

3
Ssh: // git @ github / [ব্যবহারকারীর নাম] / [পুনর্নাম]] ব্যবহার করে ক্লোন করা কতটা জরুরি তা আমি যথেষ্ট চাপ দিতে পারছি না it আপনি কি জিআইটি অ্যাক্সেস করতে কোনও কী ব্যবহার করতে চান প্রতিবার আপনার ব্যবহারকারী নাম এবং পাসওয়ার্ড টাইপ করতে হবে না? । আমি এটি ঠিক করার একমাত্র উপায় খুঁজে পেলাম স্থানীয় রেপোগুলি সরিয়ে আবার ক্লোন করা $ গিট ক্লোন এসএসএস: // গিট @ গিথুব / [ইউজারনেম] / [পুনরায় নাম] .git
জিন মাইয়ার্স

555

শংসাপত্র.হেল্পার কনফিগার করা হচ্ছে

ওএস এক্সে (এখন ম্যাকোস), এটি টার্মিনালে চালান :

git config --global credential.helper osxkeychain

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

উইন্ডোজ ব্যবহারের জন্য:

git config --global credential.helper wincred

সমস্যা সমাধান

যদি গিট শংসাপত্রের সহায়িকা সঠিকভাবে কনফিগার করা থাকে তবে ম্যাকোস কীচেইনে পাসফ্রেজ সংরক্ষণ করে। কখনও কখনও এসএসএইচ এবং কীচেইনে সঞ্চিত পাসফ্রেসের মধ্যে সংযোগটি ভেঙে যেতে পারে। আবার চালনা করুন ssh-add -Kবা ssh-add ~/.ssh/id_rsaআবার কীচেইনে কী যুক্ত করতে।

macOS v10.12 (সিয়েরা) ssh এ পরিবর্তিত হয়

ম্যাকোস ভি 10.12 (সিয়েরা) এর ssh-add -Kজন্য প্রতিটি রিবুট করার পরে চালানো দরকার। এটি এড়াতে, ~/.ssh/configএই বিষয়বস্তু দিয়ে তৈরি করুন ।

Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/id_rsa

ssh_config man10.12.2 পৃষ্ঠা থেকে :

UseKeychain

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

অ্যাপল টেকনোট 2449 যুক্ত করেছে যা ঘটেছে তা ব্যাখ্যা করে।

ম্যাকোস সিয়েরার আগে, sshআপনার পাসফ্রেজের জন্য জিজ্ঞাসা করে একটি কথোপকথন উপস্থাপন করবে এবং কীচেইনে এটি সঞ্চয় করার বিকল্প প্রস্তাব করবে। এই UI কিছু সময় আগে অবচয় করা হয়েছিল এবং সরানো হয়েছে।


30
এটি করার সর্বোত্তম উপায় হ'ল ওএসএক্সের গিথুব অ্যাপ্লিকেশন (সম্ভবত উইন্ডোজও) ডিফল্টরূপে গিট রিপোর জন্য https পথ ব্যবহার করে। Ssh / git এর পরিবর্তে https ব্যবহারেরও একটি ভাল কারণ রয়েছে কারণ অনেক কর্পোরেট নেটওয়ার্ক কেবল সুরক্ষা কারণে 80 এবং 443 বন্দরে ট্র্যাফিকের অনুমতি দেয় ।
কোডহাগার

2
শংসাপত্র সহায়কটি ব্যবহার করার জন্য আপনার 1.7.10 গিট বা আরও নতুন প্রয়োজন।
jbandi

3
Keychain.app সমাধানের জন্য +1। এই মহান আমার নিয়োগকর্তার Git সার্ভার শুধুমাত্র HTTP Apache মাধ্যমে পরিবেশিত সমর্থন করে এবং তারা দৃঢ়ভাবে ব্যবহার নিরুত্সাহিত কারণ আমার জন্য .netrcফাইল পদ্ধতি যা প্লেইন আপনার পাসওয়ার্ড রাখে।
জোশ

3
দ্রষ্টব্য, আমার কাছে 'credential-osxkeychain' is not a git command.শংসাপত্র সহায়ক ইনস্টল না করায় আমি ত্রুটি পেয়েছি । আমি এখানে এটি ইনস্টল করা নির্দেশাবলী অনুসরণ: help.github.com/articles/set-up-git#password-caching
হিউ

2
সিয়েরা আপডেটের জন্য ধন্যবাদ, আমি সবেমাত্র আপডেট হয়েছি git config --global credential.helper osxkeychainএবং আমার .sshডিরেক্টরিতে কনফিগারেশন ফাইলটি সংশোধন করার সময় কেন গিথুব পিডাব্লুয়ের জন্য জিজ্ঞাসা করেছিল তা বুঝতে পারছিলাম না ।
পিক্সেল 67

139

আমি যখন ম্যাকোএস ভি 10.12 (সিয়েরা) তে আপগ্রেড করেছি তখন আমার সাথে এটি ঘটেছিল। দেখে মনে হচ্ছে আপগ্রেড করার পরে এসএসএইচ এজেন্ট সাফ হয়ে গেছে।

$ ssh-add -L
The agent has no identities.

কেবল ssh-addআমার বিদ্যমান পরিচয় সনাক্ত করা। আমি পাসওয়ার্ডটি প্রবেশ করিয়েছি এবং আবার যেতে ভাল ছিল।


9
সিয়েরার আপগ্রেড দ্বারা +1 টি ভাঙা। নোট করুন পাসওয়ার্ডটি আপনার এসএসএইচ কী এর পাসওয়ার্ড এবং আপনার ম্যাক ব্যবহারকারীর পাসওয়ার্ড নয়।
mbonness

1
Ssh-add করা কাজ করে তবে টার্মিনাল উইন্ডোটি বন্ধ করে পুনরায় সেট করা হবে বলে মনে হচ্ছে। হতে পারে এটি একটি নতুন "বৈশিষ্ট্য"।
জোশেড

শীর্ষস্থানীয় - অন্য সিয়েরার আপডেটের সাথে এটি আবার ঘটেছে (10.12.2) তবে একই ফিক্স প্রযোজ্য।
ব্রায়ান

টার্মিনাল বন্ধ হয়ে যাওয়ার পরে কীভাবে এটি পুনরায় সেট করা যায় না তা কী কেউ জানেন?
নিকজওয়ালিন

1
আমি আমার ম্যাকবুক প্রোটি 10.12.2 এ সবেমাত্র আপডেট করেছি এবং এটি আমার গিট ভেঙেছে। Ssh- অ্যাড ব্যবহার করে আমার জন্য সম্পূর্ণ কাজ করে worked ধন্যবাদ @ এমসিসি!
jimmyplaysdrums

68

এটি ব্যবহার করুন: github.com যথাযথ হোস্টনামের সাথে প্রতিস্থাপন করুন

git remote set-url origin git@github.com:user/repo.git

দেখার সময়টি আমার কাছে ইতিমধ্যে রয়েছে git remote -v। তবুও, আমাকে এখনও পাসওয়ার্ডের জন্য অনুরোধ করা হচ্ছে।
ইগোরগানাপলস্কি

একই, আমি তার পরামর্শ মতো সেট করেছি, তবে আমি এখনও পাসওয়ার্ডের জন্য প্রম্পট পাই, কীভাবে আমি এটি প্রতিরোধ করব?
সাইবার 8200

@ ইগোরগানাপলস্কি: আপনি কি কখনও এর সমাধান পেয়েছেন?
সাইবার 8200

1
এটি সঠিকভাবে কাজ করে। এটি অদ্ভুত যে দূরবর্তী URL টির সাথে git@**শংসাপত্র এবং URL সহ প্রম্পট https@**দেয় না। এইভাবে আমি এই দস্তাবেজটি পেয়েছি ।
সুজিত কুমার সিংহ

54

অন্যরা যেমন বলেছে, আপনি একটি পাসওয়ার্ড ক্যাশে সহায়ক ইনস্টল করতে পারেন। আমি বেশিরভাগই কেবল অন্য মঞ্চ নয়, অন্য প্ল্যাটফর্মগুলির জন্য লিঙ্কটি পোস্ট করতে চেয়েছিলাম। আমি একটি লিনাক্স সার্ভার চালাচ্ছি এবং এটি সহায়ক ছিল: গিটে আপনার গিটহাব পাসওয়ার্ডটি ক্যাচ করা হচ্ছে

ম্যাকের জন্য:

git credential-osxkeychain

উইন্ডোজ:

git config --global credential.helper wincred

লিনাক্স:

git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)

5
লিনাক্সের নির্দেশাবলী দেখতে আমাকে তৃতীয় উত্তরে স্ক্রোল করতে হয়েছিল, এগুলি প্রাথমিক উত্তর হওয়া উচিত কারণ এটি একটি সাধারণ উল্লেখযোগ্য সমস্যা।
KoldBane

22

কে আপনাকে পাসফ্রেজের জন্য জিজ্ঞাসা করছে তাও দেখুন। এটি গিট বা আপনার এসএসএইচ এজেন্ট?

আমার ক্ষেত্রে, যতবার আমি git pullএটি করতাম তা আমাকে জিজ্ঞাসা করছিল:

Enter passphrase for key '/work/username/.ssh/id_rsa':

সুতরাং আমি ধরে নিলাম এটি গিট একটি পাসফ্রেজ চেয়েছে। সুতরাং আমি সমাধানের জন্য শিকার চালিয়েছি, কেবল পরে বুঝতে পারি যে আমার এসএসএইচ এজেন্ট বন্ধ হয়ে গেছে। যা ব্যবহার করে eval $(ssh-agent)এবং ssh-addপ্রদত্ত হিসাবে ঠিক করা যেতে পারে এখানে।

এছাড়াও আপনি একটি ছোট স্নিপেটের নীচে আটকান যা আপনি আপনার যোগ করতে পারেন ~/.bashrc আপনার এসএসএইচ এজেন্ট আপনার লগইন শুরু হয়েছে তা নিশ্চিত ফাইলটিতে (বা সমতুল্য) ।

যাই হোক না কেন এটি আমার করা একটি দুর্দান্ত মূর্খ ভুল ছিল, তবে এটি এখানে পোস্ট করা ঠিক এর ক্ষেত্রে যদি কেউ আমার মতো ভুল গাছের ঝাঁকুনি থেকে কিছুটা সময় বাঁচাতে সহায়তা করে।

# Start the ssh-agent
function start_agent {
    echo "Initializing new SSH agent..."

    # Spawn ssh-agent
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
    echo succeeded
    chmod 600 ${SSH_ENV}
    . ${SSH_ENV} > /dev/null
    /usr/bin/ssh-add
}

if [ -f "${SSH_ENV}" ]; then
     . ${SSH_ENV} > /dev/null
     ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
        start_agent;
    }
else
    start_agent;
fi


চমত্কার নিশ্চিত আপনি উপরের কোডে একটি লাইন অনুপস্থিত - অনুযায়ী stackoverflow.com/a/18915067/277023 আপনার দরকার হবেSSH_ENV="$HOME/.ssh/environment"
kellyfj

20
git config credential.helper store

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

আপনি যদি গিটটি প্রতিবার দূরবর্তী সংগ্রহস্থলের সাথে সংযোগ স্থাপনের জন্য আপনাকে শংসাপত্রের জন্য পুনরায় জিজ্ঞাসা করতে চান তবে আপনি এই আদেশটি চালাতে পারেন:

git config --unset credential.helper

প্রকল্প ডিরেক্টরিটির বিপরীতে আপনার% হোম% ডিরেক্টরিতে পাসওয়ার্ডগুলি .git- শংসাপত্রগুলিতে সংরক্ষণ করতে: - গ্লোবাল পতাকা ব্যবহার করুন

git config --global credential.helper store

9

উইন্ডোজে গিটের জন্য গাইড এবং গিটহাব এসএসএইচটিকে পুশ / টানতে ব্যবহার করে: উইন্ডোজে গিটের একটি ইলাস্ট্রেটেড গাইড

  1. পুটি ডাউনলোড করুন এবং ইনস্টল করুন
  2. পরিবেশ পরিবর্তনশীল 'GIT_SSH' = 'পাথ \ থেকে \ plink.exe' (ইনস্টল পুট্টি ফোল্ডারে) সেট করুন - খুব গুরুত্বপূর্ণ !!!
  3. পরিবেশের ভেরিয়েবল কার্যকর হওয়ার জন্য উইন্ডোজ এক্সপ্লোরার পুনরায় চালু করুন (কেবলমাত্র কমান্ড প্রম্পট পুনরায় আরম্ভ করতে পারে না)
  4. নতুন কী উত্পন্ন করতে puttygen.exe চালান, গিটহাব সাইটে সর্বজনীন কী অনুলিপি করুন
  5. এই নতুন ব্যক্তিগত কীটি ডিস্কে নিরাপদে কোথাও সংরক্ষণ করুন ( ড্রপবক্সের চেয়ে ভাল নয় )
  6. পুটি.এক্সি চালান এবং এসএসএইচকে গিথুব.কম-এ সংযুক্ত করুন
  7. দ্রুত "শেল: স্টার্টআপ" চালিয়ে স্টার্টআপ ফোল্ডারে যান।
  8. পেজেন্টের মাধ্যমে উইন্ডোজ দিয়ে আপনার ব্যক্তিগত কী স্টার্টআপ করুন। সিনট্যাক্স "পাথ \ থেকে \ পেজেন্ট.এক্সি" "" পাথ \ থেকে \ প্রাইভেটকি "দিয়ে স্টার্টআপ ফোল্ডারে শর্টকাট তৈরি করুন
  9. আমাদের সংগ্রহস্থলগুলির .git / কনফিগারেশনের ভিতরে 'পুটকিকিফিল' সেটিংস সেট করার দরকার নেই
  10. খুব গুরুত্বপূর্ণটি হ'ল গিটহাবের "এসএসএইচ ক্লোন ইউআরএল" ব্যবহার করা হয় এবং এইচটিটিপিএস নয়।

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

9

উইন্ডোজের গিট 1.7.9+ এ, পাঠ্য সম্পাদকটিতে কনফিগারেশন ফাইলটি খুলতে কমান্ড প্রম্পটে নিম্নলিখিত কমান্ডটি চালান:

    git config --global --edit

তারপরে ফাইলটিতে, উপস্থিত না থাকলে নিম্নলিখিত ব্লক যুক্ত করুন বা সে অনুযায়ী সম্পাদনা করুন:

    [credential "https://giturl.com"]
        username = <user id>
         helper = wincred

সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন। উপরের পরিবর্তনের পরে আপনাকে একবার শংসাপত্র সরবরাহ করতে হবে।


এটি নিখুঁতভাবে কাজ করে, আপনি আমার সময় বাঁচিয়েছেন, এখন আমি আমার কাজে মনোনিবেশ করতে পারি, ধন্যবাদ অনেক ভাই।
মোহাম্মদ সুফিয়ান

9

সময়সীমা বাড়ানোর জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন যাতে আপনি কিছুক্ষণের জন্য পাসওয়ার্ডটি টাইপ করতে পারেন

git config --global credential.helper 'cache --timeout 3600'

আমি এটি বিটবকেট এবং গিটহাবের জন্য ব্যবহার করেছি এটি উভয়ের জন্যই কাজ করে। একমাত্র আপনাকে যা করতে হবে তা 3600হল সেকেন্ডের মধ্যে। আপনি যে পরিমাণে চান তা বাড়ান। আমি এটি পরিবর্তন করেছি 259200যা প্রায় 30 দিন। এইভাবে আমি প্রতি 30 দিন বা তার জন্য আমার পাসওয়ার্ডটি পুনরায় প্রবেশ করি।


1
ঠিক আছে, আমি খুঁজে পেয়েছি যে এটি পুনরায় আরম্ভের পরেও স্থির হয় না, সুতরাং সময়সীমা নির্বিশেষে আপনাকে পুনরায় চালু করার পরেও পাসওয়ার্ডটি প্রবেশ করতে হবে ...
বেন উইন্ডিং

এটি ক্যাশে তৈরি করার একটি দুর্দান্ত উপায় :) অন্তত আমার সময় সাশ্রয় হয়েছে। ধন্যবাদ
চিকুমিকু

@ বেনউইন্ডিং কারণ এটি স্মৃতিতে শংসাপত্র সংরক্ষণ করে।
z3dd

5

আমি মনে করি আপনি আপনার সমস্যার সমাধান করেছেন তবে আমি এখানে সমাধানটি দেখতে পাচ্ছি না যা আমাকে সাহায্য করেছিল তাই এটি এখানে।

টার্মিনাল টাইপ করুন:

echo "" > ~/.ssh/known_hosts

এটি আপনার known_hostsফাইলটি খালি করে দেবে এবং আপনার ব্যবহৃত এবং সংযুক্ত থাকা প্রতিটি হোস্ট যুক্ত করতে হবে তবে এটি সমস্যার সমাধান করেছে।


1
cat /dev/null > ~/.ssh/known_hostsএকই কাজ করবে।
টিন ম্যান

5
> ~/.ssh/known_hostsএমনকি আরও খাটো :)
কলিন অ্যালেন

rm ~ / .ssh / জ্ঞাত_হোস্টদেরও কাজটি করা উচিত। আমি যদিও এর বিরুদ্ধে পরামর্শ দেব।
অরকোডেন

3
আপনার যদি host / .ssh / ज्ञात_হোস্টগুলি থেকে কোনও হোস্ট অপসারণ করতে হয় তবে ফাইলটি মুছার চেয়ে কম কার্যকর উপায় আছে। ~ / .ssh / পরিচিত_hosts কেবল একটি পাঠ্য ফাইল এবং যদি আপনি ফাইলটিতে আপত্তিজনক হোস্টগুলি খুঁজে পান তবে আপনি কেবল তাদের লাইনগুলি মুছতে পারেন। আপনি ফাইলটি সম্পাদনা করার আগে ব্যাক আপ নিতে চাইতে পারেন। আপনার যদি কেবলমাত্র ফাইলে কয়েকটি এন্ট্রি থাকে তবে এটি মুছে ফেলা কোনও খারাপ ধারণা নাও হতে পারে। আমি প্রচুর সার্ভারগুলিতে কাজ করি তাই আমার ~ / .ssh / ज्ञात_হোস্টগুলির শত শত এন্ট্রি রয়েছে এবং কয়েকটি প্রবেশ মুছে ফেলতে আমি সেগুলি মুছতে যথেষ্ট প্রস্তুত নই।
টিম স্টুয়ার্ট

3
@ পাপন এটি আমার পাসওয়ার্ড জিজ্ঞাসা করতে গিটকে বাধা দেয় না!
ইগোরগানাপলস্কি

5

আমার কাছে মনে হচ্ছে স্ট্যাটিক_আরটি দেওয়া উত্তরটি কোনও অর্থে হ্যাকি is এটি আগে পাওয়া যায় কিনা আমি জানি না, তবে গিট সরঞ্জামগুলি এখন শংসাপত্র সঞ্চয় করে।

ক্যাশে মোড

$ git config --global credential.helper cache

একটি নির্দিষ্ট সময়ের জন্য শংসাপত্রগুলিকে স্মৃতিতে রাখতে "ক্যাশে" মোডটি ব্যবহার করুন। কোনও পাসওয়ার্ডই কখনও ডিস্কে সংরক্ষণ করা হয় না এবং 15 মিনিটের পরে সেগুলি ক্যাশে থেকে মুছে ফেলা হয়।

স্টোর মোড

$ git config --global credential.helper 'store --file ~/.my-credentials'

ডিস্কের একটি সরল-পাঠ্য ফাইলের শংসাপত্রগুলি সংরক্ষণ করতে "স্টোর" মোডটি ব্যবহার করুন এবং সেগুলির মেয়াদ কখনই শেষ হবে না।

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

তথ্যসূত্র: 7.14 গিট সরঞ্জাম - শংসাপত্র সংগ্রহ Storage


উইন্ডোজ credential.helper cacheকাজ করে না। এটা হওয়া উচিত git config --global credential.helper wincred
পাওলো মেরসন

এটি কাজ করে সংরক্ষণ করছে এবং এখন এটি আমাকে সার্বক্ষণিক পাসওয়ার্ড না প্রেরণে আমার পরিবর্তনগুলি সম্পাদন করতে দেয়, আপনি জীবনদাতা!
g4ost

লিনাক্স এ আমার জন্য কাজ করেছে git config --local credential.helper store। আমার ক্ষেত্রে, আমি এইচটিটিপিএসের ওপরে আছি, এইভাবে আমি কেবল একবার ব্যবহারকারীর নাম / পাসওয়ার্ড টাইপ করি এবং তার পরে, আমার শংসাপত্রগুলি ~ / .git- শংসাপত্রগুলি থেকে পুনরায় ব্যবহার করা হয়
সিসার্লোস

3

আপনার টার্মিনালে গিটের সাথে কীচেন ব্যবহার করার বিষয়ে অরকোডেনের উত্তর অসম্পূর্ণ ছিল এবং ত্রুটিগুলি উত্থাপন করে। আপনার কীচেইনে টার্মিনালে প্রবেশ করা ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ করতে আপনাকে যা করতে হবে তা হল:

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
sudo mv git-credential-osxkeychain /usr/local/bin
sudo chmod u+x /usr/local/bin/git-credential-osxkeychain

তারপরে প্রবেশ করুন

git config --global credential.helper osxkeychain

আপনি যদি কার্ল স্টাফের আগে গিট কনফিগারেশনের সাথে ইতিমধ্যে অংশটি করেন তবে কোনও সমস্যা নেই; এটা কাজ করবে।


1
আমি যদি লিনাক্সে আছি
ইগোরগানাপলস্কি

3

স্ট্যাটিক_আরটি যেমন উপরে বলেছে, পরিবর্তন করুন

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

প্রতি

ssh://git@github.com/username/repo.git

আমি নিজেই https.git / কনফিগারেশন ফাইলটিতে পরিবর্তন করেছি ssh, তবে এটি এখনও কাজ করছে না। তখন আমি দেখেছি যে আপনি অবশ্যই পরিবর্তন github.comকরতে হবে git@github.com। আসল সঠিক URL পাওয়ার একটি ভাল উপায় হ'ল আপনার প্রকল্পের পৃষ্ঠায় গিয়ে এটি ক্লিক করুন:

সঠিক URL টি পেতে এসটিএইচটিতে HTTPS পরিবর্তন করুন

তারপরে কনফিগারেশন ফাইলটিতে এই URL টি যুক্ত করুন।


আমার কনফিগারেশন কনফিগার ফাইলে ইতিমধ্যে আমার আরও কী পরীক্ষা করা উচিত?
সাইবার 8200

আপনি github.com এও এটি পরিবর্তন করেছেন?
চিজসক্রাস্ট

3

লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেমে (ডাব্লুএসএল) আমি একমাত্র সমাধানটি কাজ করতে পেলাম:

eval `SSH-agent` ; ssh-add ~/.ssh/id_rsa

Ssh-এজেন্ট ডাব্লুএসএলে সঠিকভাবে নিবন্ধিত না হওয়াতে এটি একটি সমস্যা ছিল was


পুরোপুরি হয়ে গেছে, তবে এটিই আমার সমস্যাটিকে স্থির করেছে।
নাম কিম

3

আপনি যদি গিটকে সর্বদা আপনার গিটহাব সংগ্রহস্থলের লগইন শংসাপত্রগুলির জন্য জিজ্ঞাসা করা থেকে বিরত রাখতে চান তবে এটি সহজেই করা যায়।

এইচটিটিপিএসের পরিবর্তে এসএসএইচ ব্যবহার করা

আপনি এইচটিটিপিএসের পরিবর্তে এসএসএইচ ব্যবহার করে মূল রিমোট আপডেট করতে পারেন "

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

আপনার পাসওয়ার্ড এবং ব্যবহারকারীর নাম সংরক্ষণ করার জন্য গিটটি কনফিগার করুন

আপনি কীভাবে গিট স্টোরটি ব্যবহারকারীর নাম এবং পাসওয়ার্ড তৈরি করতে পারেন তা এখানে:

git config --global credential.helper store

এরপরে, একটি সেশনের জন্য ব্যবহারকারীর নাম এবং পাসওয়ার্ড সংরক্ষণ করুন:

git config --global credential.helper cache

2

আমি "কোডহাগার" এর সাথে একমত এবং "অর্কোডেন" এর নির্দেশনাটি আমার পক্ষে কাজ করেছে - নেটবিন .3.৩ এ - আপনি যখন ফাইলটিতে ডান ক্লিক করুন এবং প্রসঙ্গ মেনু নির্বাচন করুন - পুশ করুন - 'রিম টু রিমোট' উইন্ডো খোলা হয়েছে - দুটি আছে বিকল্পগুলি এখানে:

  1. origin:https://github.com/myaccount/myproject.git/

  2. https://github.com/myaccount/myproject.git/

আপনি দেখতে পাচ্ছেন যে পার্থক্যটি ইউআরএল-এর মূল প্যারামিটার - আপনি এই বিকল্পটি বেছে নিতে চান না (1) আপনি বিকল্পটি পরীক্ষা করতে চান (2), এবং এটি আমার পক্ষে ঠিক কাজ করে।


2

পদক্ষেপ 1: আপনার বর্তমান কনফিগারেশন পরীক্ষা করুন

cat .git/config

তুমি পাবে:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = https://github.com/path_to_your_git.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[user]
    name = your_username
    email = your_email
[branch "master-staging"]
    remote = origin
    merge = refs/heads/master-staging

পদক্ষেপ 2: আপনার দূরবর্তী উত্স সরান

git remote rm origin

পদক্ষেপ 3: আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড সহ রিমোট উত্স যোগ করুন

git remote add origin https://your_git_username:your_git_password@github.com/path_to_your_git.git

আপনি রিমোট উত্সটি আবার যুক্ত করার পরে আপনার শাখাগুলি দূরবর্তী এবং স্থানীয় সারিবদ্ধ করতে হবে - এরকম কিছু: git branch --set-upstream master origin/master
রিচার্ড বোাউন

2

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

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

আপনি নিজের পাসওয়ার্ড সংরক্ষণ করতে গিটটি কনফিগার করতে পারেন। উইন্ডোজ জন্য :

git config --global credential.helper wincred

2

ম্যাকোস ক্যাটালিন 10.15 চালানো, কীচেন ক্যাচিং পদ্ধতিটি আমার পক্ষে কাজ করছে না। এবং আমি ব্যবহার https://করতে চেয়েছিলেনssh

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

git remote rm origin

git remote add origin https://your_git_username:your_git_password@github.com/path_to_your_git.git

এটি গিটল্যাবেও কাজ করা উচিত

যদি ব্যবহারকারী নাম একটি ইমেল ঠিকানা রয়েছে তা নিশ্চিত করুন, বাদ দিতে @emailঅংশ বা আপনি একটি ত্রুটি জানায় পাবেন URL using bad/illegal format or missing URL

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


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

1

আপনার কনফিগারেশনের উপর নির্ভর করে বিভিন্ন ধরণের প্রমাণীকরণ রয়েছে। এখানে কয়েকটি দেওয়া হল:

  1. git credential-osxkeychain

    যদি আপনার শংসাপত্র অবৈধ হয় তবে এটি দ্বারা মুছে ফেলুন:

      git credential-osxkeychain erase
    

    বা:

      printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
    

    সুতরাং গিট আপনাকে আবার কীচেইনের অনুমতি চাইবে না। তারপরে আবার এটি কনফিগার করুন।

    দেখুন: গিটহাবের ওএস এক্স কীচেইন থেকে শংসাপত্রগুলি আপডেট করা

  2. আপনার এসএসএইচ আরএসএ কী।

    এর জন্য, আপনার এসএসএইচ কীটি আপনার যা যুক্ত হয়েছে তার সাথে তুলনা করতে হবে, আপনি সঠিক পরিচয় ব্যবহার করছেন কিনা তা পরীক্ষা করে ssh-add -L/ পরীক্ষা করা উচিত ssh-add -l

  3. আপনার HTTPS প্রমাণীকরণ (আপনি যদি প্রোটোকলের httpsপরিবর্তে ব্যবহার করছেন ssh) using

    আপনার শংসাপত্রগুলি সরবরাহ করতে ~/.netrc( %HOME%/_netrcউইন্ডোজে) ব্যবহার করুন eg

      machine stash1.mycompany.com
      login myusername
      password mypassword
    

আরও জানুন: স্ট্যাক ওভারফ্লোতে গিটহাবের সাথে সিঙ্ক হচ্ছে



1

ইউআরএলটিতে টাইপ করা গিটকে আপনাকে ইউজারনেম এবং পাসওয়ার্ড, বোকা গিট জিজ্ঞাসা করবে।

এটি কালি লিনাক্সে পরীক্ষা করা হয়েছিল , গিট সংস্করণ ২.7.০ এ ,

চেষ্টা করুন:

গিট ক্লোন https://github.com/thisrepodoesntexists/doesntexists.git


1

যদি আপনি উইন্ডোজ ব্যবহার করছেন এবং এটি হঠাৎ করেই গিটহাবের নীলের বাইরে ঘটতে শুরু করেছে, এটি সম্ভবত গিটিহাবের সাম্প্রতিক 2018-02-22-তে অবহিত ক্রিপ্টোগ্রাফিক অ্যালগরিদমকে অক্ষম করার কারণে , এই ক্ষেত্রে সমাধানটি কেবল ডাউনলোড এবং ইনস্টল করার জন্য উইন্ডোজের পুরো গিট বা উইন্ডোজের জন্য গিট শংসাপত্র ব্যবস্থাপকের সর্বশেষতম সংস্করণ ।


0

মাইক্রোসফ্ট স্ট্যাক সমাধান (উইন্ডোজ এবং আজার ডিভোপস)

.git/configঠিকানার ঠিকানাটি দেখে মনে হচ্ছে তা নিশ্চিত করতে প্রথমে ফাইলটি খুলুন :

protocol://something@url

উদাহরণস্বরূপ। Azit ডিভোপসের জন্য .git / কনফিগারেশন:

[remote "origin"]
    url = https://mystore@dev.azure.com/mystore/myproject/
    fetch = +refs/heads/*:refs/remotes/origin/*

সমস্যা এখনও চলতেই, খোলা উইন্ডোজ তাহলে প্রমাণপত্রাদি ব্যবস্থাপক নাম safebox উপর ক্লিক উইন্ডোজ শংসাপত্রের এবং সব Git সাথে সম্পর্কিত পরিচয়পত্র মুছে ফেলুন।

এখন পরের বার আপনি গিটে লগইন করুন, এটি আর দূরে যাবে না।


0

আপনার যদি এসএসএইচ এজেন্ট সেট আপ থাকে তবে আপনি ~/.gitconfigএইচটিটিপিএসের পরিবর্তে সমস্ত গিটহাব রেপোর জন্য এসএসএইচ ব্যবহার করতে গিটকে জোর করার জন্য আপনার এটিকে যোগ করতে পারেন :

[url "ssh://git@github.com/"]
    insteadOf = git://github.com/
    insteadOf = https://github.com/

(আপনি যদি বেশিরভাগ পাবলিক রেপো নিয়ে কাজ করছেন তবে আপনি এর pushInsteadOfচেয়েও ব্যবহার করতে পারেন insteadOf, যেমন পাবলিক রেপো থেকে অনুমোদন ব্যতীত পড়া সম্ভব)।

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