এসএসএইচ কী - এখনও পাসওয়ার্ড এবং পাসফ্রেজের জন্য জিজ্ঞাসা করছে


494

আমি যখন কোনও সংগ্রহশালা ক্লোন করি তখন আমি সর্বদা আমার ব্যবহারকারীর নাম এবং পাসওয়ার্ড জিজ্ঞাসা করি ith আমি এই পদক্ষেপটি বাইপাস করতে চাই কারণ এটি আমার কর্মপ্রবাহের মধ্যে বিরক্তি।

আমি এই গাইডটি ব্যবহার করে একটি এসএসএইচ কী (যা আমি সফলভাবে করেছি) সেট আপ করার চেষ্টা করেছি। https://help.github.com/articles/generating-ssh-keys এবং আমি সফল হয়েছি।

আমার সমস্যাটি হ'ল কোনও সংগ্রহস্থল (এসএসএইচ ব্যবহার করে) ক্লোনিং করার সময় আমার গিথব পাসওয়ার্ড এবং পাসফ্রেজ জিজ্ঞাসা করা হয়। আমার বোঝাপড়াটি হ'ল আমি এই এসএসএইচ কীটি সেট আপ করার পরে, আমাকে আর এটি করতে হবে না।

আমি কী জিজ্ঞাসা করব তা সম্পর্কে কিছুটা অনিশ্চিত, তাই আমি কেবল আমার লক্ষ্যটি প্রকাশ করব।

আমি সবসময় আমার গিথুব তথ্য না রেখেই সংগ্রহস্থলগুলি ক্লোন করতে সক্ষম হতে চাই

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

আমার জ্ঞান থেকে, এটি একটি কমান্ড যা পরীক্ষা করে যদি জিনিসগুলি সঠিকভাবে কাজ করে তবে এখানে আমার কনসোল থেকে আউটপুট দেওয়া হচ্ছে:

~ $ ssh -T git@github.com
Saving password to keychain failed
Enter passphrase for key '/Users/MYNAME/.ssh/id_rsa':
Hi MYNAME! You've successfully authenticated, but GitHub does not provide shell access.

আমি যখন আমার পাসওয়ার্ডটি ইনপুট করি, তা কি আগে ব্যর্থ হওয়া উচিত? তারপরে, আমি যখন আমার পাসফ্রেজটি প্রবেশ করি, এটি পাস হয়।


1
আপনি কোন ওএসে আছেন? একটি আধুনিক লিনাক্স ডেস্কটপ আপনার পাসফ্রেজগুলি কোনও কীরিং পরিচালকের মধ্যে সঞ্চয় করার প্রস্তাব দিবে। ম্যাক ওএস এক্সেও একইরকম Windows উইন্ডোজটিতে আপনি এটি ব্যবহার করতে পারেন pageantযা এর অংশ putty। এই সমস্ত ক্ষেত্রে লক্ষ্যটি একই: আপনি পিসি শুরু করার পরে আপনি একবারে পাসফ্রেজটি প্রবেশ করেন, কী পরিচালকের এজেন্টরা আপনাকে পুনরায় বুট না করা পর্যন্ত পরবর্তী ব্যবহারগুলিতে এটি পাস করতে হবে।
জানুস


2
আমি এখানে পার্টিতে কিছুটা দেরি করেছি, তবে গিথুবের সামান্য ক্লোন ট্যাব / বোতামে একটি লিঙ্ক রয়েছে যা "এসএসএইচ ব্যবহার করুন" বলেছে। আপনি এটা করতে চান। এটি আপনার ক্লোন লিঙ্কটিকে "গিট @ গিথুব: ব্যবহারকারীর নাম / প্রকল্প.git" এর মতো কিছুতে পরিবর্তন করে। যদি আপনি গিথুবে একটি এসএসএইচ কী যুক্ত করে থাকেন এবং এটি স্থানীয়ভাবে এসএসএইচ-এজেন্টের সাথে চালিত হন তবে আপনার ব্যবহারকারীর নাম বা পাসওয়ার্ড না দিয়েই আপনাকে চাপ দিতে সক্ষম হওয়া উচিত।
লোগান কিচেন

উত্তর:


201

আপনি যদি HTTPsইউআরএল নিয়ে কাজ করেন তবে এটি সর্বদা আপনার ব্যবহারকারীর নাম / পাসওয়ার্ড চাইবে।

SSHক্লোনিং / রিমোট সেট করার সময় আপনি যদি সঠিকভাবে ব্যবহার করছেন । তারপরে নিশ্চিত হয়ে নিন যে আপনার পাসওয়ার্ডটি মনে রাখার জন্য আপনার কাছে কোনও এসএস-এজেন্ট রয়েছে। এইভাবে, আপনি কেবল টার্মিনাল সেশনে একবার আপনার পাসফ্রেজ প্রবেশ করবেন।

যদি এটি এখনও খুব বিরক্তিকর হয় তবে কেবল পাসফ্রেজ ছাড়াই একটি ssh- কী সেট করুন।


2
উত্তরের জন্য ধন্যবাদ. আমি সর্বদা সবে এইচটিটিপি ব্যবহার করেছি। আমি এসএসএইচ প্রমাণীকরণ অর্জন করার চেষ্টা করছি এবং ভেবেছিলাম আমি এটি সেট আপ করেছি। আমার ইনস্টল করা প্রয়োজন গীটের বাইরে ssh-এজেন্ট কি কিছু আছে? ধন্যবাদ
হ্যালো ওয়ার্ল্ড

1
@ আর 11 জি আপনি পারবেন না, অন্যথায় পাসওয়ার্ডগুলি সুরক্ষিত হবে না ... কেবল একটি নতুন জেনারেট করুন।
সাইমন বৌদ্রিয়াস

50
আমি কেবল লক্ষ্য করতে চাই যে পাসফ্রেজগুলি আপনার ব্যক্তিগত কী এনক্রিপ্ট করার জন্য ব্যবহৃত হয়, সুতরাং আপনি যদি কোনও পাসফ্রেজ ব্যবহার না করেন তবে আপনার ব্যক্তিগত কীটি আপনার মেশিনে এনক্রিপ্ট করা হবে। এটি আপনার কম্পিউটারে রাখা কোনও পাঠ্য ফাইলে একটি পাসওয়ার্ড রেখে দেওয়ার মতো।

2
মজার বিষয়, আমার এইচটিটিপিএস রেপোস কখনও পাসওয়ার্ড জিজ্ঞাসা করে না এবং আমার এসএসএইচ রেপো সবসময়ই করে।
অ্যাডাম

33
রিমোটের URL টি https থেকে ssh এ রূপান্তর করতে এই গিথুব ডকটি দেখুন । রিমোটের URL টি ssh বা https কিনা তা পরীক্ষা করতে ব্যবহার করুন git remote -vgit remote set-url origin git@github.com:USERNAME/REPOSITORY.git
Https

824

কীচেন ছাড়াই পরিচয় যুক্ত করুন

এমন অনেক সময় থাকতে পারে যা আপনি কীচেইনে থাকা পাসফ্রেজটি চান না, তবে বার বার পাসফ্রেজটি প্রবেশ করতে চান না।

আপনি এটির মতো এটি করতে পারেন:

ssh-add ~/.ssh/id_rsa 

এটি আপনাকে পাসফ্রেজের জন্য জিজ্ঞাসা করবে, এটি প্রবেশ করান এবং আপনি পুনরায় আরম্ভ না করা পর্যন্ত এটি আর জিজ্ঞাসা করবে না।

কীচেন ব্যবহার করে পরিচয় যুক্ত করুন

@ অ্যাডনিস মন্তব্যগুলিতে যেমন মন্তব্য করেছেন, আপনার পাসওয়ার্ডটি আপনার কীচেইনে সংরক্ষণ করে পুনরায় চালু করার জন্য চালিয়ে যেতে, আপনি এই জাতীয় পরিচয় যুক্ত করার সময় -Kবিকল্পটি ( -kউবুন্টুর জন্য) ব্যবহার করতে পারেন :

ssh-add -K ~/.ssh/id_rsa

আবার, এটি আপনাকে পাসফ্রেজের জন্য জিজ্ঞাসা করবে, এটি প্রবেশ করান এবং এবার এটি আর কখনও এই পরিচয় জিজ্ঞাসা করবে না।


178
মনে রাখবেন যে এটি পুনরায় আরম্ভের সময় পরিচয়টি বজায় রাখবে না। -Kপাসওয়ার্ডগুলি আপনার কীচেইনে যুক্ত করার সময় এটি সংরক্ষণ করার বিকল্পটি ব্যবহার করতে পারেন , উদাহরণস্বরূপssh-add -K ~/.ssh/id_rsa
ডেনিস ২

29
-kআমার জন্য লোয়ার কেস ... (লিনাক্স মিন্ট / উবুন্টু 14.04 বেস) তবে হ্যাঁ! অবশেষে এটি বাছাই ...
লুই ম্যাডডাক্স

8
"ssh-add" কমান্ডটি চালিয়ে একবারে পাসওয়ার্ড প্রবেশ করুন, কমান্ড লাইন আপনাকে আবার পাসওয়ার্ডের জন্য অনুরোধ করবে না।
অবিনাশ শ্রিমালি

14
আপনার কোনও যুক্তির দরকার নেই; কেবল চালানো ssh-addস্বয়ংক্রিয়ভাবে যুক্ত হবে ~/.ssh/id_rsa(অন্যান্য ফাইলগুলির মধ্যে)। এবং আউটপুটটি প্রেরণের কোনও কারণ নেই /dev/null; এটি কী করেছে তার প্রতিবেদনটি দেখতে আরও ভাল।
টেড হপ

6
"আপনার প্রমাণীকরণ এজেন্টের সাথে কোনও সংযোগ খুলতে পারছি না" এমন কোনও ধারণা?
ডোকাস্পার

251

ম্যাক ওএসএক্স-এ আপনি আপনার ব্যক্তিগত কীটি কমান্ডটি ব্যবহার করে কীচেইনে যুক্ত করতে পারেন:

ssh-add -K /path/to/private_key

যদি আপনার প্রাইভেট কীটি ~ / .ssh এ সঞ্চিত থাকে এবং নাম রাখা হয়েছে id_rsa:

ssh-add -K ~/.ssh/id_rsa

তারপরে আপনাকে আপনার পাসওয়ার্ডের জন্য অনুরোধ জানানো হবে, যা আপনার কীচেইনে সংরক্ষণ করা হবে।

সম্পাদনা করুন - হ্যান্ডেল পুনঃসূচনা

পুনরায় চালু হওয়ার পরেও আপনার পাসওয়ার্ডটি পূরণ না করতে আপনার এসএসএস কনফিগারেশন ফাইলে নিম্নলিখিতটি যুক্ত করুন (সাধারণত ~ / .ssh / config এ অবস্থিত)

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

7
আমার ক্ষেত্রে এটি পুনরায় চালু হওয়ার পরেও পাসফ্রেজের জন্য অনুরোধ জানায় (ম্যাকোস সিয়েরা 10.12.2)। কোন ধারনা কিভাবে এই সমস্যা সমাধানের?
inigo333

9
কিছু নয়, আমি সবেমাত্র বিষয়টি খুঁজে পেয়েছি। এটি ম্যাক ওএস এক্স 10.12 এর একটি বাগ (বৈশিষ্ট্য?) যাতে ssh-এজেন্ট প্রারম্ভকালে কীচেইনে স্বয়ংক্রিয়ভাবে পাসফ্রেস লোড করে না। github.com/lionheart/openradar-mirror/issues/15361
inigo333

2
@ inigo333 আকর্ষণীয়। আমি সবেমাত্র আপডেট এবং লক্ষ্য করেছি!
গ্রুট

1
@ গ্রুট, বিটিডাব্লু, "হোস্ট * ইউজকায়াচেইন হ্যাঁ" "~ / .ssh / কনফিগারেশন" এ যুক্ত করুন, যেমন অন্যান্য উত্তরে প্রস্তাবিত হয়েছে, বিষয়টি সমাধান করে।
inigo333

1
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। বিশেষত কনফিগার ফাইলটি~/.ssh
জাভি

186

আমি এখানে সমস্ত উত্তর চেষ্টা করেছিলাম এবং এর উত্তরগুলির কোনওটিই কাজ করে নি ! আমার পাসওয়ার্ডটি আমার ম্যাকের সেশন / পুনঃসূচনাগুলির মধ্যে স্থির থাকবে না।

আমি কি পড়া থেকে খুঁজে পাওয়া যায় নি এই OpenRadar এবং এই টুইটার আলোচনা ছিল অ্যাপল ইচ্ছাপূর্বক আচরণ পরিবর্তিত SSH-এজেন্ট জন্য MacOS 10,12 সিয়েরা কোন থেকে স্বয়ংক্রিয়ভাবে আর পূর্ববর্তী SSH কী-লোড করুন। এল ক্যাপের মতো একই আচরণ বজায় রাখার জন্য আমি নিম্নলিখিতগুলি করেছি:

  1. ssh-add -K ~/.ssh/id_rsa
    দ্রষ্টব্য: আপনার id_rsa কী অবস্থিত সেখানে পথ পরিবর্তন করুন।
  2. ssh-add -A
  3. নিম্নলিখিত ~/.ssh/configফাইলটি তৈরি করুন (বা এটি উপস্থিত থাকলে সম্পাদনা করুন) :

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

এবং এখন আমার পাসওয়ার্ড আমার ম্যাক পুনরায় আরম্ভের মধ্যে মনে আছে!


2
গিথুব বা ওএসএক্স ডকুমেন্টেশন পৃষ্ঠাগুলিতে যোগ করার জন্য এটি দরকারী কিছু হতে পারে । আমার ম্যাকটি কেন 10.11 চালাচ্ছে এবং আমার অন্য 10.12 চলছে যেখানে অন্যরকম আচরণ করছে তা নির্ধারণ করা খুব কঠিন সময় ছিল।
গ্রার

5
ওএসএক্স আপগ্রেডের পরে আমার কাছে এসেছিল, ধন্যবাদ (আপনার মনে ssh-add -Aহয় কেবল একটি কী থাকলে আপনার প্রয়োজন হয় না ~/.ssh/id_rsa)
ডোরিয়ান

1
এটি একটি অবিশ্বাস্যভাবে দরকারী উত্তর। ধন্যবাদ, আপনি আমার দিনটি তৈরি করেছেন।
জান ন্যাশ

2
অক্টোবর 2017 পর্যন্ত, আপনি উত্তরটি 10.12 বা তারও বেশি ব্যবহার করছেন যদি এই উত্তরটি ঠিক আপনি খুঁজছেন you're
ব্রোগ্রামারটি


35

আপনি কীটির জন্য পাসফ্রেজ সরিয়ে ফেলতে পারেন

$ ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]

অথবা আপনি চালাতে পারেন

$ ssh-keygen -p

আপনি কীফাইলের জন্য একটি প্রম্পট পাবেন। ডিফল্টরূপে এটি ~/.ssh/id_rsaএন্টার টিপুন

এটি আপনাকে বর্তমান পাস বাক্যাংশ প্রবেশের অনুরোধ জানাবে।

তারপরে নতুন পাসের বাক্যাংশের জন্য একটি প্রম্পট আসবে, এন্টার টিপুন


কীচেইনে পাসফ্রেজ যুক্ত করার জন্য এটি প্রায় একইরকম উত্তরের চেয়ে অনেক বেশি হওয়া উচিত। আমাকে আমার সর্বজনীন কী প্রশাসকের কাছে দিতে হয়েছিল এবং একটি পাসফ্রেজ অন্তর্ভুক্ত ছিল যা প্রতিবার টাইপ করতে বিরক্তিকর হয়ে ওঠে। এই পরিষ্কার সমাধান আপনি (আপনার মেশিনে উপর অনেক নিয়ন্ত্রণ না থাকে যখন -K, -k, -Aআমার জন্য কাজ করে নি)।
gwg

1
এটিই কেবলমাত্র আমার জন্য পুনঃসূচনাগুলি জুড়ে কাজ করেছিল, সমস্ত এস-এস-অ্যাড-কে,-কে ইত্যাদি কমান্ড আমার পক্ষে কিছু করে নি।
অমলগোভিনাস

28

কেবলমাত্র নিম্নলিখিত কমান্ডটি চালান:

ssh-add -K

এটি আপনাকে আর কখনও পাসওয়ার্ড প্রবেশ করতে বলবে না।


3
এটি দুর্দান্ত কাজ করে, তবে আমি এলোমেলো কমান্ড চালানোর বিষয়ে কিছুটা উদ্বিগ্ন ছিলাম। তবে, যদি আপনি ডক্সটি পরীক্ষা করেন তবে ssh-add"প্রমাণীকরণ এজেন্টে ব্যক্তিগত কী পরিচয় যুক্ত করা", এবং -Kবিকল্পটি সহজভাবে এটি করে তোলে "পরিচয় যুক্ত করার সময়, প্রতিটি পাসফ্রেজও ব্যবহারকারীর কীচেইনে সংরক্ষণ করা হবে।"
মেশিনঘস্ট

8
আসলে, আমি এটি পুনরায় আরম্ভ না করা পর্যন্ত এটি কেবল ঠিক করেছে :(
মেশিনহোস্ট

5
উইন্ডোজের বাশ শেলের মধ্যে, "-কে" পতাকাটি ছোট হাতের অক্ষরে থাকতে হবে। সবেমাত্র FYI
ফার্গাস

27

আপনার সংগ্রহস্থলের জন্যও আপনি ssh ব্যবহার করছেন তা নিশ্চিত করুন

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins-cje-2017$ git remote -v origin git@github.com:eMahtab/jenkins-cje-2017.git (fetch) origin git@github.com:eMahtab/jenkins-cje-2017.git (push)

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

Https ব্যবহার করবেন না, যদি আপনার রিমোটটি https ব্যবহার করে তবে এটি পাসওয়ার্ডের জন্য জিজ্ঞাসা করবে, এমনকি আপনি গিথুবে সর্বজনীন কী যোগ করেছেন এবং ssh-এজেন্টে ব্যক্তিগত কী যুক্ত করেছেন। নীচে সর্বদা পাসওয়ার্ড চাইবে

mahtab@mahtab-Lenovo-G50-70:~/my-projects/jenkins-cje-2017$ git remote -v origin https://github.com/eMahtab/jenkins-cje-2017.git (fetch) origin https://github.com/eMahtab/jenkins-cje-2017.git (push)


হ্যাঁ দুটি দূরবর্তী URL টির মধ্যে পার্থক্য করা আমার পক্ষে সহায়ক was এটি আমার পদ সাহায্য করেছে git pullএবং git push। আমি এইচটিটিপিএস টাইপ থেকে এসএসএইচ টাইপে আমার ইউআরএল পরিবর্তন করেছি এবং এটি কার্যকর - git pullপাসওয়ার্ড জিজ্ঞাসা করা বন্ধ করে দিয়েছে।
মাইকেল আর

1
এই আদেশটি দিয়ে স্যুইচিং করা যেতে পারে:git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
নির্দেশিকা

17

আমাকে মৃত্যুদণ্ড কার্যকর করতে হয়েছিল:

eval `ssh-agent -s`
ssh-add

দ্রষ্টব্য : প্রতিটি পুনঃসূচনা করার পরে আপনাকে আবার এটি করতে হবে। যদি আপনি এটি এড়াতে চান তবে উইন্ডোতে থাকা আপনার " .Bashrc " ফাইলটিতে এটি প্রবেশ C:\Users\<<USERNAME>>\.bashrcকরুন। এটি সম্ভবত লুকানো রয়েছে, তাই নিশ্চিত হয়ে নিন যে আপনি লুকানো ফাইলগুলি দেখতে পাচ্ছেন।

সমাধান এখানে পাওয়া যায় ।


15

আপনি যদি উইন্ডোজ ব্যবহার করেন তবে এটি আমার পক্ষে কাজ করেছে:

eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa

এটি দ্বিতীয় কমান্ডে পাসফ্রেজের জন্য জিজ্ঞাসা করবে, এবং এটিই।


1
আপনি যখন লগআউট এবং রিলগ করেন আপনাকে প্রতিবার পাসওয়ার্ডটি পুনরায় প্রবেশ করতে হবে।
ট্রিনোসিস


11

আপনার একটি ssh এজেন্ট ব্যবহার করা প্রয়োজন।
টিএল; ডিআর : টার্মিনাল খুলুন এবং চেষ্টা করুন

ssh-add

ধাক্কা দেওয়ার আগে। জিজ্ঞাসা করা হলে আপনার পাসফ্রেজ লিখুন।

মূল স্ট্যাকএক্সচেঞ্জ উত্তরটি এখানে দেখুন


6

আমি সম্প্রতি ম্যাকস মোজাভেতে আপগ্রেড করেছি এবং হোমব্রিউয়ের মাধ্যমে কিছু সরঞ্জাম ইনস্টল করেছি, যা দেখে মনে হয় অ্যাপলের সংস্করণটিকে ssh-addআলাদা আলাদা রূপান্তর করতে হবে। আমার ডিফল্ট সংস্করণ ssh-add করা হয়নি আছে -Kবিকল্প। এটি নিম্নলিখিত ত্রুটির দিকে পরিচালিত করেছে:

# ssh-add: illegal option -- K

আপনার কোন সংস্করণ রয়েছে ssh-addতা চালিয়ে দেখতে পারেন which ssh-add

(খনিতে জমা ছিল /usr/local/bin/ssh-add)

এটি ঠিক করতে, আমাকে অ্যাপলের সংস্করণে কীটি নির্দেশ করতে হয়েছিল :

/usr/bin/ssh-add -K ~/.ssh/id_rsa

গিট / গিটহাব পরে পুরোপুরি কাজ করেছে। আরও তথ্যের জন্য, দেখুন: ত্রুটি: ssh-add: অবৈধ বিকল্প - কে


হাই সিয়েরা 10.13.6 এর সাথে আমার আইম্যাকটিতে একই সমস্যা ছিল - এটি আমার পক্ষে কাজ করেছিল। ধন্যবাদ!
এমসক্র্যাকেন

আমার কাজ ভাল ছিল এবং এলোমেলোভাবে আবার পাসফ্রেসগুলি জিজ্ঞাসা করা শুরু হয়েছিল - সাম্প্রতিক আপডেটের পরে হতে পারে। এটি স্থির! ধন্যবাদ
এমসি 01 01

5

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

এটি আমি বিশেষভাবে দরকারী বলে মনে করেছি: https://github.com/lionheart/openradar-mirror/issues/15361#issuecomment-249059061

ssh-add -A 

এটি দৌড়ানোর পরে এজেন্টে আমার পরিচয় যুক্ত হয়েছিল in

ssh-add -K {/path/to/key}

সংক্ষিপ্তসার হিসাবে, OSX.12 এ:

ssh-add -K {/path/to/key}
ssh-add -A 

ফলাফল হওয়া উচিত:

Identity added: {/path/to/file} ({/path/to/file})

সম্পাদনা: আমি পরের বার খেয়াল করেছিলাম যখন আমি একটি পূর্ণ রিবুট করলাম (ওরফে এজেন্ট থামিয়ে দিয়ে পুনরায় চালু করা) এটি আর কাজ করে না। উপরে সম্পূর্ণ উল্লিখিত @ ক্রিসজেএফ আরও সম্পূর্ণ সমাধান: একটি ~/.ssh/configফাইল তৈরি করা । এখানে আমার ফলাফল:

$ cat ~/.ssh/config
Host *
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/id_rsa

IdentityFileআপনার প্রয়োজন অনুসারে যতগুলি এন্ট্রি যুক্ত করতে পারেন তবে এটি ডিফল্ট সেটআপ। এটি উপরের ওপেনাদার লিঙ্কে এটিএম, পাশাপাশি "ট্রেন্ডিং" উত্তর।


সম্পাদিত আমার সমস্যাটি সমাধান করেছে। ম্যাকস মোজাভে 10.14.3
জোস

4

লিনাক্সমিন্ট / উবুন্টুতে কাজ করেছেন

নিম্নলিখিত পদক্ষেপগুলি করুন

ধাপ 1:

গোটো ফাইল => /.এসএইচ / কনফিগ

নীচের লাইনগুলি ফাইলটিতে সংরক্ষণ করুন

Host bitbucket.org
    HostName bitbucket.org
    User git
    IdentityFile /home/apple/myssh-privatekey
    AddKeysToAgent yes

এই লাইনটি অ্যাডকিসটওএজেন্ট যোগ করতে ভুলবেন না yes

ধাপ ২:

টার্মিনালটি খুলুন এবং এসএসএড - এ কীসেটটি যুক্ত করুন

$ ssh-add -k /home/apple/myssh-privatekey

পাসফ্রেজ সরবরাহ করুন।


3

আমি ইতিমধ্যে একটি পাসফ্রেজ সেট করে রেখেছি তবে কিছু কারণে এটি আর স্বীকৃত হবে না। সুতরাং আমি আবার ব্যবহার করে আমার কীচেইনে পরিচয় ফাইলটি যুক্ত করেছিলাম ssh-add -Kএবং এটি আমার পাসওয়ার্ড জিজ্ঞাসা করা বন্ধ করে দিয়েছে।


এটি কেবল কীগুলি লোড করে এবং শংসাপত্রগুলি নয়
numeiaweb


2

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

osxkeychain helperপছন্দ মত ব্যবহার :

  1. এটি ইনস্টল করা আছে কিনা তা সন্ধান করুন।

    git credential-osxkeychain

  2. যদি এটি ইনস্টল না করা থাকে তবে আপনাকে এক্সকোড কমান্ড লাইন সরঞ্জামগুলির অংশ হিসাবে এটি ডাউনলোড করতে অনুরোধ করা হবে।

  3. এটি ইনস্টল থাকলে গিটকে osxkeychain helperবৈশ্বিক credential.helperকনফিগারেশন ব্যবহার করে বলুন :

    git config --global credential.helper osxkeychain

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


2

এই উত্তরটি মূলত উইন্ডোজ ব্যবহারকারীদের জন্য এবং একই সাথে প্রাসঙ্গিক যদি আপনার অন্য কোনও ওএস-তে টিএফএস, গিথাব বা গিটল্যাব দিয়ে ক্লোনিং করতে সমস্যা হয়।

এসএসএইচ ব্যবহার করার সময় ডিফল্ট প্রমাণীকরণ মোডটি ব্যক্তিগত কী। যখনই এটি কোনও কারণে ব্যর্থ হয়, এসএসএস-এজেন্ট ব্যবহারকারীর নাম এবং পাসওয়ার্ড ভিত্তিক প্রমাণীকরণে ফিরে যায়।

ডিফল্ট কী ভিত্তিক প্রমাণীকরণ ব্যর্থ হতে পারে তার বেশ কয়েকটি কারণ রয়েছে। নিম্নলিখিত সর্বাধিক সাধারণ ঘটনা:

ক) ssh- এজেন্ট ডিফল্ট ব্যক্তিগত কী ফাইলটি খুঁজে পাচ্ছে না যা id_rsa , এবং অন্য কোনও কী পাথ স্পষ্টভাবে নির্দিষ্ট করা হয়নি।

খ) সার্ভারে থাকা সর্বজনীন কীটি ভুল।

গ) আপনি যে পথটি ক্লোন করার চেষ্টা করছেন সেটি ভুল।

যাইহোক, সমস্যাটির সমাধানের জন্য প্রথমে গিট ক্লোন কমান্ডটি ভার্বোজ লগিং দিয়ে কমান্ডটি দিয়ে চালিত করুন:

GIT_TRACE=1 GIT_SSH_COMMAND="ssh -vvv" git clone ssh://pathToYourRepo

সমস্যাটি কী হতে পারে তার একটি অন্তর্দৃষ্টি পেতে আপনি লগের প্রতিটি পদক্ষেপের মধ্য দিয়ে যেতে পারেন।


(ক) এর ক্ষেত্রে সমস্যা সমাধান

  • .Ssh ডিরেক্টরিতে আপনার ডিফল্ট কী নাম id_rsa রয়েছে তা নিশ্চিত করুন। Ssh-keygen কমান্ডের সাহায্যে কী তৈরি করার সময় আপনি হয়ত কিছু আলাদা কীনাম নির্দিষ্ট করেছেন বা সম্ভবত কোনও কী নেই)।
  • আপনি যদি প্রমাণীকরণের জন্য আলাদা কীটি নির্দিষ্ট করতে চান তবে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

    ssh-agent bash -c 'ssh-add ~/.ssh/anotherKey; git clone ssh://pathToYourRepo'
    

(খ) এর ক্ষেত্রে সমস্যা সমাধান

  • সার্ভারে সর্বজনীন কী সংরক্ষণ করার সময় অতিরিক্ত শ্বেত স্থান নেই বলে নিশ্চিত করুন।

(গ) এর ক্ষেত্রে সমস্যা সমাধান

  • আপনি সংগ্রহস্থল পথের https সংস্করণটি দিয়ে ক্লোন করার চেষ্টা করছেন না তা নিশ্চিত করুন।

1

আপনি যদি গিটের জন্য ssh url ব্যবহার করেন, যখন ssh এর জন্য পাসওয়ার্ডের জন্য অনুরোধ করা হয় তখন " গিট " হিসাবে ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি আপনার সিস্টেমের লগইন পাসওয়ার্ড হিসাবে রাখুন


আমার সমস্যা সমাধানের HTTPSজন্য সংগ্রহস্থল দূরবর্তী URL টাইপ পরিবর্তন SSHকরা। ধন্যবাদ @ মিশেলআর, আপনার নিবন্ধটি সত্যই সহায়ক ছিল, যদিও আমি এর থেকে কিছু পড়িনি: ডি
@ মিশেলআর

1

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

আমি কীটি তৈরি করার পরে এবং এটি সার্ভারে অনুলিপি করার পরে:

ssh-keygen
ssh-copy-id -i ~/.ssh/12gpu_server.pub lerner@192.168.20.160

আমি এটি কাজ করে না।

তারপরে আমি ~/.ssh/configফাইলটি পরীক্ষা করতে গেলাম , আমি এটি নীচে দেখেছি:

Host *
IdentitiesOnly yes

তারপরে আমি এটি উপরে যুক্ত করব:

Host 12gpu
HostName 192.168.20.160
User lerner
IdentityFile ~/.ssh/12gpu_server

আমি প্রবেশ করে লগ ইন করতে পারি ssh 12gpu

তারপরে আপনি নিজের পছন্দের নামগুলি ব্যবহার করে একাধিক ssh কী যুক্ত করতে পারেন এবং আপনাকে কেবল কনফিগার ফাইলটিতে উপরের চারটি লাইনের মতো সেটিংস যুক্ত করতে হবে।

হোস্ট আপনি যে নামটি প্রবেশ করতে আপনি সার্ভারে পরে সাথে সংযোগ চাই হয়; হোস্টনাম সার্ভারের IP অথবা github.com মত DOMAIN; ব্যবহারকারী ব্যবহারকারী নাম আপনি GitHub বা gitlab জন্য ব্যবহারকারী নাম বা Git মত সার্ভার লগ ইন করুন নেই; এবং IdentityFile ফাইল যেখানে আপনি কী আপনি উত্পন্ন করেছেন সংরক্ষণ করা হয়।


1

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

  • আরএসএ প্রাইভেট এবং পাবলিক কী একজোড়া তৈরি করুন

    $ ssh-keygen -t rsa -b 4096 -C "your comments"
    
  • আপনার সর্বজনীন কী অনুলিপি করুন এবং আপনার দূরবর্তী সার্ভারে লগইন করুন

  • আপনার পাবলিক কী .ssh / অনুমোদিত_কিগুলিতে যুক্ত করুন

  • আপনার কম্পিউটারে যদি একাধিক ssh কী থাকে আপনি ssh-add ব্যবহার করে আপনার কী যুক্ত করতে পারেন

    $ ssh-add /path/to/private/key

  • তারপরে আপনার সার্ভারে ssh চেষ্টা করুন

    $ ssh username@your_ip_address

সূত্র: http://diary-of-programmer.blogspot.com/2018/08/tips-how-to-ssh-to-your-digitalocean.html


0

sshগিথুব দ্বারা সরবরাহিত রিমোট url ব্যবহার করুন https


ওপি স্পষ্টভাবে জানিয়েছে যে তিনি এইচটিটিপিএসের পরিবর্তে এসএসএইচ ব্যবহার করছেন।
ধীর

0

যদি আপনি তৃতীয় পক্ষের সরঞ্জামগুলি ছাড়াই উইন্ডোজ এবং জিআইটি ব্যবহার করেন এবং আপনার কী কোনও পাসওয়ার্ড / পাসফ্রেজ দ্বারা সুরক্ষিত না হয় তবে এটি ব্যবহার করুন:

  1. পরিবেশ পরিবর্তনশীল হোম অবশ্যই আপনার ব্যবহারকারীর প্রোফাইলে সেট করতে হবে (যেমন সি: \ ব্যবহারকারী \ ল্যাপটপ)
  2. সি: \ ব্যবহারকারীদের \ ল্যাপটপ ss। এসএসএইচ \ ফোল্ডারে যান এবং "কনফিগারেশন" ফাইলটি সম্পাদনা করুন ss। এসএসএইচ \ (বা ফাইলটি তৈরি করুন!) উদাহরণ: সি: \ ব্যবহারকারীরা ap ল্যাপটপ.এসএসএইচ \ কনফিগার করুন (দ্রষ্টব্য: শেষের দিকে নেই!)
  3. আপনার গিট-সার্ভার হোস্টকে "কনফিগারেশন" ফাইলটিতে এমনভাবে যুক্ত করুন:

    #Example host entry
    Host myhostname.com
        HostName myhostname.com
        User git
        IdentityFile c:/users/laptop/.ssh/id_rsa.pub
        PasswordAuthentication no
        Port 422
    
  4. ফাইলটি সংরক্ষণ করুন এবং এর মতো সংগ্রহস্থলটি ক্লোন করুন:

    গিট ক্লোন ssh: //myhostname.com/git-server/repos/picalc.git

আপনি "কনফিগার" ফাইল হোস্ট এন্ট্রির জন্য অতিরিক্ত কনফিগারেশন প্যারামিটার ব্যবহার করতে পারেন। এগুলি আপনার স্থানীয় গিট ইনস্টলেশন ফোল্ডারে পাওয়া যায়, যেমন " সি: \ প্রোগ্রাম ফাইলগুলি it গিট \ ইত্যাদি \ এসএসএস \ এসএসএস-কনফিগ "। উদ্ধৃতাংশ:

# Host *
#   ForwardAgent no
#   ForwardX11 no
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   IdentityFile ~/.ssh/id_ecdsa
#   IdentityFile ~/.ssh/id_ed25519
#   Port 22
#   Protocol 2
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h

0

আমার কাছে একই সমস্যা এবং সমাধানটি ছিল:

রিমোটের URL টি https থেকে ssh এ রূপান্তর করতে এই গিথুব ডকটি দেখুন। রিমোটের URL টি ssh বা https কিনা তা পরীক্ষা করতে গিট রিমোট -v ব্যবহার করুন। Https থেকে ssh এ স্যুইচ করতে: গিট রিমোট সেট-ইউআরএল উত্স git@github.com: ইউজারনেম / রেপোসটরি Y.git @jeeYem


0

মোব্যাক্সটার্মের এটির জন্য একটি ইউআই ইন্টারফেস ছিল

setting > configuration > SSH > SSH Agent > [check] Use internal SSH agent "moboAgent" > add [your id_rsa and restart mobaxterme to set changes]


0

এসএসএইচ কী - এখনও পাসওয়ার্ড এবং পাসফ্রেজের জন্য জিজ্ঞাসা করছে

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

  1. আপনার পটিটিওয়াই ইনস্টলেশনটি বেশ কয়েকটি এক্সিকিউটেবল, অন্যদের মধ্যে, pageant.exeএবং সহ আসা উচিতplink.exe
  2. পুটিগেনের সাথে একটি এসএসএইচ কী তৈরি করার সময়, কীটি .ppkএক্সটেনশন সহ সঞ্চিত থাকে
  3. চালান "full\path\to\your\pageant.exe" "full\path\to\your\key.ppk"( অবশ্যই উদ্ধৃত করা আবশ্যক )। এটি pageantপরিষেবাটি কার্যকর করে এবং আপনার কী (পাসওয়ার্ড দেওয়ার পরে) নিবন্ধিত করবে ।
  4. পরিবেশ পরিবর্তনশীল সেট করুন GIT_SSH=full\path\to\plink.exe( উদ্ধৃত হওয়া উচিত নয় )। এটি গিট এসএস-যোগাযোগ-সম্পর্কিত কমান্ডগুলিকে পুনর্নির্দেশ করবে plinkযা pageantআবার পাসওয়ার্ড না জিজ্ঞাসা করে প্রমাণীকরণের জন্য পরিষেবাটি ব্যবহার করবে ।

সম্পন্ন!

নোট 1: পরিবেশগত পরিবর্তনশীল সেটিংসের সাথে কাজ করার সময় এই ডকুমেন্টেশনটি কিছু অদ্ভুততা সম্পর্কে সতর্ক করে GIT_SHH। আমি করতে পারেন push, pull, fetchকমান্ড অতিরিক্তি প্যারামিটার এবং সবকিছু যে কোন সংখ্যার সঙ্গে আমার জন্য শুধু জরিমানা (যেমন তাহাতে প্রস্তাব একটি অতিরিক্ত স্ক্রিপ্ট লিখতে কোনো প্রয়োজন ছাড়াই) কাজ করে।

PuTTYদ্রষ্টব্য 2 : ইনস্টলাশনের পথে সাধারণত থাকেPATH বাদ দেওয়া যেতে পারে। যাইহোক, আমি পুরো পথ নির্দিষ্ট করে দেওয়া পছন্দ করি।

অটোমেশন:

কমান্ড লাইন থেকে গিট ব্যবহার করার আগে নিম্নলিখিত ব্যাচ ফাইলটি চালানো যেতে পারে। এটি সেটিংসের ব্যবহার চিত্রিত করে:

git-init.bat
   @ECHO OFF
   :: Use start since the call is blocking
   START "%ProgramFiles%\PuTTY\pageant.exe" "%HOMEDRIVE%%HOMEPATH%\.ssh\id_ed00000.ppk"
   SET GIT_SSH=%ProgramFiles%\PuTTY\plink.exe

যাইহোক, আমার GIT_SSHপরিবর্তনশীল সেট আছে SystemPropertiesAdvanced.exe > Environment variablesএবং রেজিস্ট্রি কী (*) pageant.exeহিসাবে যুক্ত হয়েছে Run

(*) একটি Runরেজিস্ট্রি কী যুক্ত করার পদক্ষেপ >

  1. চালান regedit.exe
  2. নেভিগেট করুন HKEY_CURRENT_USER > Software > Microsoft > Windows > CurrentVersion > Run
  3. (মেনু) করুন Edit > New > String Value
  4. একটি সালিশী (তবে অনন্য) নাম লিখুন Enter
  5. (মেনু) করুন Edit > Modify...(বা ডাবল ক্লিক করুন)
  6. প্রবেশদ্বার-সংলগ্ন পথটি প্রবেশ করুন pageant.exeএবং public key, উদাহরণস্বরূপ, "C:\Program Files\PuTTY\pageant.exe" "C:\Users\username\.ssh\id_ed00000.ppk"(লক্ষ্য করুন যে %ProgramFiles%ইত্যাদি। ভেরিয়েবলগুলি এখানে পদক্ষেপ 3 Expandable string valueএর জায়গায় না বাছাই করা না হলে এখানে কাজ করে না String value)।

0

যেমনটি এসএসএইচ-তে ওএসটিএস থেকে গিট রেপো ক্লোনিংয়ে ব্যাখ্যা করা হয়েছে একটি পাসওয়ার্ড জিজ্ঞাসা করে! অপ্রত্যাশিত

সমস্যাটি পাবলিক কী প্রমাণীকরণ ব্যর্থ হওয়ার কারণে হতে পারে, সুতরাং এটি তখন মাইকম্পেনি অ্যাকাউন্টের পাসওয়ার্ডের জন্য জিজ্ঞাসা করে।

পাবলিক কী প্রমাণীকরণ সফল হলে এটি হবে না not

সুতরাং আপনি id_rsa.pub চেক করতে পারেন এবং এমনকি একটি নতুন তৈরি করতে পারেন।


-1

আমি মনে করি @ সুডো ব্যাংবাংয়ের উত্তরটি গ্রহণযোগ্য হওয়া উচিত।

Ssh কী উত্পন্ন করার সময়, আপনি পাসওয়ার্ডটি কনফিগার করার অনুরোধ জানালে আপনার পাসওয়ার্ডটি টাইপ করা এড়াতে আপনি "এন্টার" টিপুন।

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


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