git - গিতল্যাবে অনুমতি প্রাপ্তি(পাবলিক কী) অস্বীকার করা হয়েছে




ubuntu ssh (18)

যখন আপনার একাধিক গিট অ্যাকাউন্ট থাকে এবং আপনি বিভিন্ন এসএস কী ব্যবহার করতে পারেন

Ssh কী উত্পন্ন করার জন্য আপনাকে একই পদক্ষেপ অনুসরণ করতে হবে তবে আপনি নিশ্চিত হন

ssh-keygen -t ed25519 -C "[email protected]" 

আপনি যে পথটি সংরক্ষণ করতে চান তা প্রবেশ করান (উদা: আমার-পিসি / ডেস্কটপ / .এসএসএইচ / এডি 25519)

আপনার গিটল্যাবে পাবলিক কী যুক্ত করুন (গিটল্যাজে এসএস কী কীভাবে যুক্ত করবেন )

নীচের কমন্ড ব্যবহার করে আপনাকে নতুন এসএসআই পরিচয় দিতে হবে

ssh-add ~/my-pc/Desktop/.ssh/ed25519

আমার সমস্যা হ'ল আমি গিটল্যাব থেকে চাপ বা আনতে পারছি না। তবে, আমি ক্লোন করতে পারি (এইচটিটিপি বা এসএসএইচ এর মাধ্যমে)। আমি চাপ দেওয়ার চেষ্টা করার সময় আমি এই ত্রুটিটি পেয়েছি:

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

আমি যে সমস্ত থ্রেড দেখেছি সেগুলি থেকে, আমি যা করেছি তা এখানে:

  • আমার কম্পিউটারে একটি এসএসএইচ কী সেট আপ করুন এবং গিটল্যাবে সর্বজনীন কী যুক্ত করুন
  • ব্যবহারকারীর নাম এবং ইমেলের জন্য কনফিগার - গ্লোবাল সম্পন্ন করে
  • এটি সমস্যার সমাধান করবে কিনা তা পরীক্ষা করতে এসএসএইচ এবং এইচটিটিপি এর মাধ্যমে ক্লোন করা
  • Ssh -T [email protected] কমান্ডটি সম্পন্ন করে

আমার সমস্যাটি কীভাবে সমাধান করবেন সে সম্পর্কে আপনার যদি অন্তর্দৃষ্টি থাকে তবে এটি প্রশংসিত হবে।


অনুমতি পরিবর্তন করুন :: chmod 400 ~ / .ssh / id_rsa এটি আমার পক্ষে সহায়তা করেছিল।


আপনার সাইট টিএলএস / এসএসএল ব্যবহার করে থাকে তবে দয়া করে git config credential.helper store ব্যবহার করুন। আশা করি এটি কাজ করে


আপনি যদি লিনাক্স বা ম্যাকক্সে থাকেন তবে কেবল টার্মিনালে এটি ব্যবহার করে দেখুন:

ssh-add -l

যদি এটি কিছুই না ফেরায় তবে চেষ্টা করুন:

ssh-add

এটি অবশ্যই ~ / .ssh / id_rsa- এ পরিচয় তৈরি করতে হবে

পুনরায় চেষ্টা করার পরে:

ssh-add -l

এটি অবশ্যই আপনার পরিচয় ফিরিয়ে দেবে, তাই ক্লোন করতে আবার চেষ্টা করার পরে এটি অবশ্যই কাজ করবে

এনবি: আপনার প্রোফাইল গিটল্যাবে আপনার এসএসএস কী যুক্ত করতে ভুলবেন না

ধন্যবাদ


আমার কাছে গিটল্যাব ডকার নিয়ে চলছে, আমার সমস্যা সমাধানের জন্য আমি এটিই করেছি।

খুঁজে পাওয়া গেল যে ডকার / ভার / লগ / গিটল্যাব / এসএসডি / বর্তমানের ভিতরে একটি বার্তার একাধিক উপস্থিতি রয়েছে:

প্রমাণীকরণ অস্বীকার করেছে: খারাপ মালিকানা বা ফাইল /var/opt/gitlab/.ssh/authorised_keys জন্য মোড

যার পরে আমি এই ফাইলটির মালিকানা 99 থেকে পরিবর্তন করে ব্যবহারকারীদের গিটে: ব্যবহারকারীদের সাথে:

গাউন গিট: ব্যবহারকারীরা অনুমোদিত_কিজ


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

আপনি /etc/ssh/sshd_config আপনার ssh সার্ভার কনফিগারেশন পরীক্ষা করতে পারেন। AllowUsers বিকল্পের সাথে যদি আপনার একটি লাইন থাকে তবে এতে গিট যুক্ত করুন:

AllowUsers user1 user2 user3 git

আমার জন্য সমস্যাটি UsePAM আমি /etc/ssh/sshd_config অধীনে এসএসএইচ কনফিগারেশন ফাইলটিতে yes থেকে UsePAM স্যুইচ /etc/ssh/sshd_configUsePAM yes সবকিছু ঠিকঠাক কাজ করে।


আমি অনেক অনুসন্ধান করার পরে এটি পেয়েছি। এটা আমার জন্য পুরোপুরি সূক্ষ্ম কাজ করবে।

  1. "গিট বাশ" এ যান ঠিক সেমিডির মতো। ডান ক্লিক করুন এবং "প্রশাসক হিসাবে চালান"।
  2. ssh-keygen টাইপ ssh-keygen
  3. এন্টার চাপুন.
  4. এটি আপনাকে নির্দিষ্ট ডিরেক্টরিতে কীটি সংরক্ষণ করতে বলবে।
  5. এন্টার চাপুন. এটি আপনাকে পাসওয়ার্ড টাইপ করতে বা পাসওয়ার্ড ছাড়াই প্রবেশ করার অনুরোধ জানাবে।
  6. সর্বজনীন কী নির্দিষ্ট ডিরেক্টরিতে তৈরি করা হবে।
  7. এখন ডিরেক্টরিতে যান এবং .ssh ফোল্ডারটি খুলুন।
  8. আপনি id_rsa.pub ফাইলটি দেখতে পাবেন। এটি নোটপ্যাডে খুলুন। এটি থেকে সমস্ত পাঠ্য অনুলিপি করুন।
  9. gitlab.com/profile/keys যান।
  10. "কী" পাঠ্যক্ষেত্রে এখানে আটকান।
  11. এখন নীচে "শিরোনাম" ক্লিক করুন। এটি স্বয়ংক্রিয়ভাবে পূরণ করা হবে।
  12. তারপরে "কী যুক্ত করুন" ক্লিক করুন।

এখন এটি একটি শট দিন এবং এটি নিশ্চিতভাবে কাজ করবে।


আমি উবুন্টু 18.04 ব্যবহার করি এবং এটি আমার স্থানীয় মেশিনে আসলে অনুমতি সংক্রান্ত সমস্যা ছিল। আমি যখন আমার .git ফোল্ডারে পড়ার / লেখার অনুমতি সেট করলাম তখন সমস্যাটি চলে গেল।


আমি এরকম সমাধান করলাম ..

এই কমান্ডটি ব্যবহার করে উইন্ডোজের জন্য একটি কী তৈরি করা হয়েছে:

ssh-keygen -t rsa -C "[email protected]" -b 4096

তবে সমস্যাটি হ'ল এই কমান্ডটি চালানোর পরে, এটি একটি লাইন পপ করেছে: "কীটি (/c/User/xxx/.ssh/id_rsa) সংরক্ষণ করতে ফাইলটি প্রবেশ করান:" এখানে, আমি কেবল ফাইলের নাম দিচ্ছি যার কারণে আমার কীটি আমার পিডব্লুডিতে সংরক্ষিত হচ্ছে, দেওয়া অবস্থানে নয় in আমি যখন "গিট ক্লোন" করেছি, তখন এটি "/c/User/xxx/.ssh/id_rsa" অবস্থানে থাকা কীটি ধরে নিচ্ছিল তবে এটি পাওয়া যায় নি, সুতরাং এটি ত্রুটি ছুঁড়েছিল।

কী প্রজন্মের সময় 2 ফাইল উত্পন্ন হয়েছিল বলে "ফাইল 1" এবং "ফাইল1.pub"। আমি এই দুটি ফাইলের নামকরণ করেছি

file1 -> id_rsa 

এবং

file1.pub -> id_rsa.pub

এবং উভয়কে "/c/Users/xxx/.ssh/" অবস্থানে "/c/Users/xxx/.ssh/"


এই আচরণের কারণ হতে পারে এমন আরেকটি সমস্যা হ'ল আপনি যখন 2 সম্ভাব্য% হোম%-লোকেশন সহ একটি সেটআপ করেন।

আমি একটি পিসি ব্যবহার করছি যেখানে আমার কিছু নথি স্থানীয়ভাবে সঞ্চয় করা আছে এবং সেগুলির কয়েকটি নেটওয়ার্ক ড্রাইভে সঞ্চয় করা হয়েছে। কিছু অ্যাপ্লিকেশন মনে করে C:\Users\<MyUserName>\ %home% আমার %home% , অন্যরা মনে করেন যে U:\ the এটিই হোম।

ssh-keygen দেখা যাচ্ছে যে আমার প্রাইভেট কীটি C:\users\<MyUserName>\ under এর অধীনে রাখে এবং সেই ssh -T এবং ssh -v এছাড়াও সেখানে দেখায়।

সুতরাং git clone , git push এবং অন্যরা U:\ কী কী খুঁজছেন তা বাদ দিয়ে সবকিছু ঠিকঠাক কাজ করছে বলে মনে হচ্ছে U:\ যা ব্যর্থ হয় তাই আমি পূর্বোক্ত ত্রুটিটি পেয়েছি।

এটি জানতে আমার এক ঘন্টা সময় লেগেছে, তবে শেষ পর্যন্ত সমাধানটি সহজ ছিল: আমি C:\Users\<MyUserName>\.ssh থেকে সমস্ত কিছু অনুলিপি করেছি C:\Users\<MyUserName>\.ssh U:\.ssh


এটির একটি খুব সহজ সমাধান রয়েছে: এসএসএসের সাথে কাজ করার পরিবর্তে - https এ যান। এটি করার জন্য: আপনার প্রকল্প ফোল্ডারে আপনার কাছে একটি .git ফোল্ডার রয়েছে - আপনার কাছে একটি কনফিগার ফাইল রয়েছে - এটি একটি পাঠ্য সম্পাদককে খুলুন এবং লাইনটি পরিবর্তন করুন

url [email protected]: yourname / yourproject.git

প্রতি

url = https://gitlab.com/yourame/yourproject.git


টার্মিনালে যান এবং আবার ssh কী পুনরায় জেনারেট করুন। ssh-keygen টাইপ ssh-keygen । এটি আপনাকে জিজ্ঞাসা করবে আপনি কোথায় এটি সংরক্ষণ করতে চান, পথটি টাইপ করুন।

তারপরে গিটল্যাব প্ল্যাটফর্মে সর্বজনীন কীটি অনুলিপি করুন। এটি সাধারণত ssh-rsa দিয়ে শুরু হয়।


ঠিক আছে আমারও একই সমস্যা ছিল এবং উত্তর চেষ্টা করার পরে @ খান প্রস্তাব করলেন। তবে, আমি কেবলমাত্র .git / কনফিগারেশন ফাইলের মূল URLটি https ঠিকানায় পরিবর্তন করে এটি তৈরি করতে সক্ষম হয়েছি: https://gitlab.com/mygitlabusername/mygitproject.git

যেহেতু ssh এর মাধ্যমে অ্যাক্সেস প্রত্যাখ্যান করা হয়েছে, তাই https ব্যবহার করে সমস্যাটি হওয়া উচিত নয় I তবে এটি रिपোরিটরিতে প্রতিটি ধাক্কার জন্য আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড চাইবে


পদক্ষেপ 1: দেখতে দেখতে config / .ssh / ফোল্ডারে একটি কনফিগার ফাইল যুক্ত করা হয়েছে

   User git
   Hostname gitlab.com
   IdentityFile ~/.ssh/id_rsa_gitlab
   TCPKeepAlive yes
   IdentitiesOnly yes

পদক্ষেপ 2: সুডো ছাড়া গিট রেপোটিকে কেবল ক্লোন করুন।


পদক্ষেপগুলি করতে হবে, একই ত্রুটি পেয়েছে তবে আমি এটি ঠিক করেছি fixed গিটল্যাব ssh-rsa চায় তাই আরএসএর জন্য ssh চালানোর কোডটি নীচে

  1. ssh-keygen -o -t rsa -b 4096 -C "[email protected]"

[email protected] হ'ল আপনার গিটল্যাব অ্যাকাউন্ট ইমেল

  1. এটি আপনাকে প্রবেশের অনুরোধ জানাবে তাই নীচের কোডটি প্রম্পট হওয়ার পরে কেবল এন্টার টিপুন,

    কী (/ home/yourDesktopName/.ssh/id_rsa) সংরক্ষণ করতে ফাইল প্রবেশ করুন:

  2. এটি আপনাকে আবার প্রবেশের অনুরোধ জানাবে তাই নীচের কোডটি প্রম্পট হওয়ার পরে কেবল এন্টার টিপুন,

    পাসফ্রেজ প্রবেশ করুন (কোনও পাসফ্রেজের জন্য খালি নয়):

  3. এটি আপনাকে শেষ প্রবেশের জন্য আবার অনুরোধ জানাবে তাই নীচের কোডটি প্রম্পট হওয়ার পরে কেবল এন্টার টিপুন,

    আবার একই পাসফ্রেজ লিখুন:

  4. আপনি আপনার ssh-rsa জেনারেট দেখান।

  5. আপনার গিটল্যাব অ্যাকাউন্টে লগইন করুন এবং ডান নববারে যান আপনি সেটিংস পাবেন এবং বাম পাশের বারে আপনি এসএসসি পাবেন। এটি প্রবেশ করান।

  6. আপনাকে প্রবেশ করতে বলার অনুরোধটির উপরে দেখুন, আপনি ssh-rsa এর পাথ পাবেন।

  7. আপনার এসএসএইচ ফোল্ডারে যান এবং id_rsa.pub পান

  8. এটি খুলুন এবং কীটি পান এবং গিটল্যাবে অনুলিপি করুন এবং আপনার কাজ প্রায় শেষ।

  9. চেক করুন: ssh -T [email protected]

  10. আপনি পাবেন: Welcome to GitLab, @joy4!

  11. সম্পন্ন.


gitlab.com/help/ssh/… আমি সমাধানটি পেয়েছি।

To create a new SSH key pair: 
 1. Open a terminal on Linux or macOS, or Git Bash / WSL on Windows.
 2. Generate a new ED25519 SSH key pair: ssh-keygen -t ed25519 -C "[email protected]"
 2.1 Or, if you want to use RSA: ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
 3. Next, you will be prompted to input a file path to save your SSH key pair to... use the suggested path by pressing Enter
 4. Once the path is decided, you will be prompted to input a password to secure your new SSH key pair. It's a best practice to use a password, but it's not required and you can skip creating it by pressing Enter twice.
 5. Copy your public SSH key to the clipboard by using one of the commands below depending on your Operating System:
        macOS:        pbcopy < ~/.ssh/id_ed25519.pub
        WSL / GNU/Linux (requires the xclip package):      xclip -sel clip < ~/.ssh/id_ed25519.pub
        Git Bash on Windows:      cat ~/.ssh/id_ed25519.pub | clip
 6. Navigating to SSH Keys and pasting your public key in the Key field
 7. Click the Add key button

আমি আশা করি এটি আপনার কয়েকজনকে সহায়তা করতে পারে!


উবুন্টুতে কীভাবে গিতলাব অ্যাকাউন্টে এসএসএইচ কী যুক্ত করবেন?

  1. আপনার প্রকল্প ডিরেক্টরিতে টার্মিনাল খুলুন।
  2. 'Ssh-keygen -o -t rsa -b 4096 -C "আপনার গিটল্যাব ইমেল" "টাইপ করুন এবং এন্টার টিপুন
  3. 'Vim /home/mnbtech/.ssh/id_rsa.pub' টাইপ করুন এবং এন্টার টিপুন (অথবা আপনি নিজের 'id_rsa.pub'f ম্যানুয়ালি খুলুন যেখানে আপনি এটি সংরক্ষণ করেছেন)
  4. এসএসএইচ কী উপস্থিত হবে। সেগুলি অনুলিপি করুন এবং

  5. আপনার গিটল্যাব অ্যাকাউন্টে যান।

  6. প্রোফাইল চিত্র ক্লিক করুন এবং সেটিংস ক্লিক করুন
  7. বাম দিকে এসএসএইচ-কী নির্বাচন করুন
  8. তারপরে এই কীটি ক্লিক করুন কী যুক্ত করুন paste

এসএসএইচ-কী যুক্ত হবে!

(এনবি যদি আপনার পূর্বরূপগুলি এসএসএইচ কী তৈরি করে থাকে এবং অনুমতি প্রাপ্তি অস্বীকৃত হয় (পাবলিক কী) You আপনি আপনার পূর্বরূপগুলি ssh কী মুছুন এবং একটি নতুন উত্পন্ন করুন এবং আপনার টার্মিনালে গিট ইউজারনাম এবং ইমেল যুক্ত করুন)





gitlab