গিট অন বিটবাকেট: আমার সর্বজনীন এসএসএইচ কী আপলোড করার পরেও সর্বদা পাসওয়ার্ড চেয়েছিল


179

আমি আমার আপলোড করা ~/.ssh/id_rsa.pubথেকে Bitbucket এর SSH কী হিসাবে ব্যাখ্যা , কিন্তু গীত এখনও আমার যে অপারেশন (যেমন আমার পাসওয়ার্ড জন্য অনুরোধ git pull)। আমি কি কিছু রেখে গেলাম?

এটি একটি ব্যক্তিগত সংগ্রহস্থল (অন্য ব্যক্তির ব্যক্তিগত সংগ্রহস্থলের কাঁটাচামচ) এবং আমি এটিকে ক্লোন করে দিয়েছি:

git clone git@bitbucket.org:Nicolas_Raoul/therepo.git

এখানে আমার স্থানীয় .git/config:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = https://Nicolas_Raoul@bitbucket.org/Nicolas_Raoul/therepo.git
[branch "master"]
        remote = origin
        merge = refs/heads/master

একই পাবলিক কী সহ একই পরিবেশে, গিট অন গিথুব ঠিকঠাক কাজ করে।
.sshহয় rwx------, .ssh/id_rsaহয় -rw-------, .ssh/id_rsa.pubহয়-rw-r--r--

উত্তর:


265

আপনি কি নিশ্চিতরূপে এটি ssh url ব্যবহার করে ক্লোন করেছেন?

উত্সের জন্য ইউআরএল url = https://Nicolas_Raoul@bitbucket.org/Nicolas_Raoul/therepo.gitতাই বলে যদি এটি https ব্যবহার করে তবে এটি আপনার এসএস কীগুলি নির্বিশেষে পাসওয়ার্ডের জন্য জিজ্ঞাসা করবে।

সুতরাং আপনি যা করতে চান তা নিম্নলিখিত:

আপনার কনফিগারেশন ফাইলটি আপনার বর্তমান রেপোতে খুলুন ..

vim .git/config

এবং ইউআরএল দিয়ে লাইনটি পরিবর্তন করুন

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = https://Nicolas_Raoul@bitbucket.org/Nicolas_Raoul/therepo.git

প্রতি

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git@bitbucket.org:Nicolas_Raoul/therepo.git

62
আপনি ঠিক বলেছেন, ধন্যবাদ! আমি সম্ভবত ভুল URL টি দিয়ে ক্লোন করেছি। আমি এর .git/configসাথে URL টি প্রতিস্থাপন করেছি git@bitbucket.org:Nicolas_Raoul/therepo.gitএবং এখন এটি কার্যকর হয়!
নিকোলাস রাউল


3
এটি বিটবাকেট যিনি আমাকে কোনও সংগ্রহশালা তৈরি করার সময় https url প্রস্তাব করেছিলেন! কিভাবে!
ডেনিস নাইজিয়াভ

4
আপনার বিটবাকেটটি ব্যক্তিগত কিনা তা মনে রাখবেন, আপনি যদি গিট প্রোটোকলটি ব্যবহার করতে চান তবে আপনাকে আপনার সেটিংসে বিটবুকিটের ওয়েবসাইটে ssh কী যুক্ত করতে হবে।
শেভেরিস

7
ইউআরএল পরিবর্তন করতে হয়েছিল ssh://git@bitbucket.org/userName/repoName.git- ssh://উপসর্গ ছাড়া এটি কাজ করে না।
trygub

33

হিসাবে ব্যাখ্যা এখানে , যদি আপনার সাথে ক্লোন , SSH URL, আপনি না ব্যবহারকারীর নাম / পাসওয়ার্ড প্রতিটি সময় আপনি ধাক্কা / পুল লিখতে হবে। @Manojlds দ্বারা উপরের উত্তর চেক করুন

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

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

যেখানে 3600 (সেকেন্ড) মানে 1 ঘন্টা, আপনি এটি আপনার প্রয়োজন অনুসারে পরিবর্তন করতে পারেন।


@atilkan সেক্ষেত্রে, আপনি কি আপনার মেশিন / ওএস এবং গিট সংস্করণ তথ্য সরবরাহ করতে পারেন? এবং ত্রুটি বার্তা যদি কোনও হয় যখন আপনি ক্যাশে সেটিংস সেট করার চেষ্টা করেন।
অজিত শাহ

আমি কারওর সংগ্রহস্থল ফর্ম বিটবাকেট ক্লোন করেছি এবং এখানে আমার প্রত্যন্তগুলি রয়েছে। manecs-MBP:LocationTracker manec$ git remote -v origin https://Vysh1@bitbucket.org/Vysh1/locationtracker.git (fetch) origin https://Vysh1@bitbucket.org/Vysh1/locationtracker.git (push)
বনে ইসহাক কে

@ অজিতশাহ যদি আমি ভুল পাসওয়ার্ডটি প্রবেশ করি তবে কী হবে? এটিও ভুল পাসওয়ার্ডটি ক্যাশে করবে?
অ্যানভাল

@ অনাভাল আপনি কেন এটি চেষ্টা করছেন না এবং তার পরে ক্যাশে সাফ করার বা অক্ষম করার পরে সঠিক পাসওয়ার্ড দেওয়ার চেষ্টা করবেন না? উত্তরটি সম্পাদনা করুন এবং আপনি কীভাবে এটি করেছিলেন তা আমাদের জানান :)
অজিত শাহ 5'18

19

এটি ইতিমধ্যে উপরে উত্তর। আমি উপরের চেক করার পদক্ষেপগুলি সংক্ষেপে জানাব।

git remote -vপ্রকল্প dir চালান । যদি আউটপুটটি দূরবর্তী ইউআরএলটি দিয়ে শুরু করে দেখায় https://abcতবে আপনার প্রতিবার ব্যবহারকারীর নাম পাসওয়ার্ডের প্রয়োজন হতে পারে।

সুতরাং রিমোট ইউআরএল রান পরিবর্তন করতে git remote set-url origin {ssh remote url address starts with mostly git@bitbucket.org:}

git remote -v পরিবর্তিত দূরবর্তী url যাচাই করতে এখন চালান ।

তথ্যসূত্র: https://help.github.com/articles/changing-a-remote-s-url/


16

ভবিষ্যতে হ্যালো গুগলার্স

MacOS> = হাই সিয়েরায়, এসএসএইচ কীটি আর কারণের কারণে কীচেইনে সংরক্ষণ করা যায় না ।

ssh-add -Kআর ব্যবহার করা আর পুনরায় আরম্ভ থেকে বেঁচে থাকে।

এখানে 3 সম্ভাব্য সমাধান রয়েছে

আমি প্রথম পদ্ধতিটি সফলভাবে ব্যবহার করেছি। আমি নামক কোনো ফাইল তৈরি করেছি config~/.ssh:

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

2
এটি আরও মনোযোগ প্রয়োজন! আমি সমাধানের জন্য যুগে যুগে কাটিয়েছি এবং configফাইলটির সাথে প্রথমটি /.sshনিখুঁতভাবে কাজ করে!
কিটসন

1
এই উত্তরগুলি ম্যাকওগুলিতে আমার সমস্যার সমাধান করেছে: cd ~/.ssh+ ls+ nano config(ফাইলটি ইতিমধ্যে তৈরি করা হয়েছিল) + বৈদেনের উত্তরে কোড যুক্ত করুন। তারপরে ফাইলটি সংরক্ষণ করতে এক্স + ওয়াই নিয়ন্ত্রণ করুন।
সাবস্টিয়ান জিকুয়েল

9

এইচটিটিপি অনুরোধের ক্ষেত্রে, সরাসরি এবং ইউআরএলে শংসাপত্রগুলি (পাসওয়ার্ড সহ) পেস্ট করাও এবং বিকল্পভাবে সম্ভব:

http://username:password@bitbucket.org/...

এটি আবার আপনার শংসাপত্রগুলি দেওয়ার জন্য ব্যথাটি বাঁচাবে। আপনার .git / কনফিগার (ইউআরএল) সরল করুন।


10
তবে নিরাপদ নয়। এবং পাসওয়ার্ডটির মতো কোনও চিঠি থাকলে কাজ করবে না$%
গাঙ্ক

3
যে কেউ যিনি এই মন্তব্যটি পড়ে, মনে রাখবেন দয়া করে: শুধু কারণ এটি কাজ করে , এটা মানে এই নয় অধিকার । যদি আপনি স্থায়ীভাবে কোথাও আপনার পাসওয়ার্ড অনুলিপি করেন তবে আপনি এটি ভুল করছেন। যারা সর্বদা ফোল্ডারের অনুমতি সেট করে তাদের সাথে একই 777: বন্ধ করুন, চিন্তা করুন, গবেষণা করুন, বুঝুন এবং তারপরে এটি সঠিকভাবে করুন।
dKen

9

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

ssh-add -K ~/.ssh/id_rsa

এটি আপনাকে আপনার পাসওয়ার্ডের জন্য অনুরোধ করবে এবং এটি সংরক্ষণ করবে it আপনি যে পাসওয়ার্ডের জন্য প্রতিবার অনুরোধ জানানো হয় এটি যদি আপনি খুঁজছেন এমন সমাধান হতে পারে

কী / / ব্যবহারকারীদের জন্য পাসফ্রেজ প্রবেশ করান / sss/id_rsa ':

আরও তথ্য এখানে

দ্রষ্টব্য: আমি এটি সফলভাবে আমার ম্যাক মেশিনে ব্যবহার করেছি, তবে @ রব ক্যাসোভস্কি নীচের দিকে নির্দেশ করেছেন, উপরের ক্ষেত্রে Kবিকল্পটি ম্যাকের জন্য অনন্য। ম্যাক না হলে আপনার ছোট হাত ব্যবহার করতে হবে k(যা সম্ভবত ম্যাকের জন্যও কাজ করে তবে আমি পরীক্ষা করিনি)।


1
এটি দুর্দান্ত, তবে এটি ছোট হাতের হওয়া উচিত k:ssh-add -k ~/.ssh/id_rsa
রব কাসোভস্কি

আপনি দয়া করে বিস্তারিত বলতে পারেন?
stackPusher

এখানে যেমন ব্যাখ্যা করা হয়েছে: ssh.com/ssh/add , কমান্ড লাইন বিকল্পটি ছোট হাতের অক্ষর k, বড় হাতের অক্ষর নয় কারণ এই বিকল্পগুলি কেস সেনসিটিভ।
রব ক্যাসোভস্কি

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

1
প্ল্যাটফর্মের পার্থক্য সম্পর্কে দয়া করে সচেতন থাকুন, -Kম্যাকের জন্য সুনির্দিষ্ট: help.github.com/en/articles/error-ssh-add-illegal-option----k
রব Kwasowski

5
  • পদক্ষেপ 1: গিট-শংসাপত্র-উইনস্টোর ইনস্টল করুন
    https://confluence.atlassian.com/bitbucketserver/permanently-authenticating-with-git-repositories-776639846.html

  • পদক্ষেপ 2: গিট কনফিগারেশন - গ্লোবাল শংসাপত্র.হেল্পার 'ক্যাশে - টাইমআউটআউট 3600'
    এটি আপনার পাসওয়ার্ডটি 1 ঘন্টা সংরক্ষণ করবে

  • পদক্ষেপ 3: একটি গিট কমান্ড চালান যা আপনাকে আপনার পাসওয়ার্ডের জন্য অনুরোধ জানাবে এবং শংসাপত্রগুলি আপনাকে অনুরোধ করে আপনার পাসওয়ার্ডটি সংরক্ষণ করবে

আমি মনে করি যে Step 1এটি জন্য Windowsএবং Step 2এটি জন্য Linuxকিন্তু আপনি এটি সঠিকভাবে উল্লেখ ভুলে গেছেন।
অজিৎ শাহ

আমি আমার উইন্ডোজ বাক্সে 3 টি পদক্ষেপ নিয়েছি এবং এটি কার্যকর হয়েছে।
ওয়েবদেব 5

2
সেক্ষেত্রে আমি এটি যুক্ত করতে চাই লিনাক্স ওএসে, আমাদের একই পদক্ষেপের জন্য কেবল স্টেপ 2 এবং স্টিপি 3 প্রয়োজন :)
অজিৎ শাহ

4

নিম্নলিখিতটি বিটবাকেটে আইটার্ম / টার্মিনালের মাধ্যমে কমান্ড-লাইন অ্যাক্সেস অনুমান করে।

জন্য MacOS এর সিয়েরা 10.12.5, আমার সিস্টেম একটি সমতুল্য সমস্যা উদ্ভাসিত - bitbucket প্রতিটি সংযোগ উপর আমার, SSH পাসফ্রেজ জন্য জিজ্ঞাসা।

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

আপনি নিজের সমাধানটি খুব ভালভাবে তৈরি করতে চান তবে আপনার। / .Ssh / config ফাইলটিতে যুক্ত করার পরে নিম্নলিখিতটি কাজ করবে:

Host *
    UseKeychain yes

Ssh কনফিগারেশনের বিষয়ে আরও তথ্যের জন্য ssh_config- এর ম্যান পেজগুলি দেখুন:

% man ssh_config

অন্য একটি জিনিস: এখানে সুপারভাইজারের উপর একটি ভাল লেখার ব্যবস্থা রয়েছে যা আপনার সমস্যা এবং সেটআপের উপর নির্ভর করে এই সমস্যা এবং বিভিন্ন সমাধান নিয়ে আলোচনা করে।


2

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

আমি শুধু সম্পাদিত ./.git/configফাইল এবং মান পরিবর্তিত urlকেবল প্রতিস্থাপন পরিবর্তনশীল https://থেকেssh://

যেমন

[core]
        ...
        ...
        ...
[remote "origin"]
        url = https://<username>@bitbucket.org/<username>/<repository_name>.git
        fetch = +refs/heads/*:refs/remotes/origin/*
        ...
        ...
        ...

পরিবর্তন:

[core]
        ...
        ...
        ...
[remote "origin"]
        url = ssh://<username>@bitbucket.org/<username>/<repository_name>.git
        fetch = +refs/heads/*:refs/remotes/origin/*
        ...
        ...
        ...

1

আপনাকে আপনার এসএসএইচ সনাক্তকরণ ফাইলটি ডাবল-চেক করতে হবে। আপনি বিটবকেটে যে পরিমাণ সমান পাবলিক কী সংরক্ষণ করেছেন তার আলাদা / ভুল প্রাইভেট কীটি দেখার জন্য আপনি বিটবকেটকে গাইড করতে পারেন।

এটি দিয়ে পরীক্ষা করুন tail ~/.ssh/config- আপনি এর মতো কিছু দেখতে পাবেন:

Host bitbucket.org
 HostName bitbucket.org
 IdentityFile ~/.ssh/personal-bitbucket-ssh-key

মনে রাখবেন যে অতিরিক্ত পরিচয় যুক্ত করা (যেমন কাজ এবং বাড়ি) ssh-addকমান্ডের সাহায্যে করা যেতে পারে , উদাহরণস্বরূপ:

ssh-keygen -t rsa -C "companyName" -f "companyName"
ssh-add ~/.ssh/companyName

একবার আপনি নিশ্চিত করেছেন যে কোন ব্যক্তিগত কীটি স্থানীয়ভাবে সন্ধান করা হচ্ছে, আপনি তারপরে আপনার সর্বজনীন সমতুল্য নিতে পারেন:

cat ~/.ssh/personal-bitbucket-ssh-key.pub | pbcopy

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

আশা করি এটি কারওর জন্য এটি পরিষ্কার করতে সহায়তা করে।


0

আমার সাথে, যদিও আমি 'গিট ক্লোন এসএসএস: //git@stash.xxx.com: 7999 / projName / projA.git' চালিয়েছি, এখনও আমার ক্লোন করা এই নতুন রেপোর জন্য আমাকে পাসওয়ার্ডের জন্য অনুরোধ করা হয়েছিল, সুতরাং এর .git তুলনা করে / কনফিগারেশন ফাইলটি কাজ করে এমন অন্যান্য রেপগুলিতে, এটি [দূরবর্তী "উত্স"] বিভাগের অধীনে url হিসাবে দেখা গেছে, এটি নতুন রেপোর জন্য উপরের ssh পথে সেট করা হয়েছিল, তবে কার্যকারীটির জন্য https: xxx এ সেট করা হয়েছে ।


0

লগ ইন করার সময় আমার অন্যান্য অদ্ভুততা ছিল I কেবল ম্যাকস-এর কীচেইনে যান। সাইডবারে লগইন লক আইকনটি সন্ধান করুন। লগআউট করতে এটি ক্লিক করুন এবং তারপরে লগইন করতে ক্লিক করুন। বোবা লাগছে তবে এটি আমার সমস্যার সমাধান করেছে। একটি শট মূল্যবান।

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