কীচেইনে আমি কীভাবে স্থায়ীভাবে আমার এসএসএইচ প্রাইভেট কী যুক্ত করতে পারি তাই এটি ssh এর জন্য স্বয়ংক্রিয়ভাবে উপলব্ধ?


419

দেখে মনে হচ্ছে এটি ssh-add -K ~/.ssh/id_rsaআপনার কী লোড করবে তবে প্রতিবার আপনি বুট করার সময় পাসওয়ার্ড চাইবে।

আমি এমন একটি সমাধান খুঁজছি যা আমাকে লগইনের মধ্যে কী পাসওয়ার্ডটি পুনরায় প্রবেশের প্রয়োজন হবে না।


1
পাসওয়ার্ড প্রম্পট কখন আপনার জন্য আসে সে সম্পর্কে আপনি আরও কিছু বলতে পারেন? আমি জিজ্ঞাসা করছি কারণ আমার কাছে একটি রিমোট সার্ভারের জন্য একটি এসএস-কী রয়েছে, যা আমি আপনাকে নিশ্চিত করি যে আপনি আমার ম্যাক লগইন পাসওয়ার্ড বা কোনও কিছুর মতো নন এবং বছরের পর বছর ধরে আমাকে ssh-key এর জন্য পাসওয়ার্ড প্রবেশ করতে হয়নি । আমি কেবল একটি টার্মিনাল খুলতে পারি, "ssh <server>" টাইপ করুন এবং আমি সেখানে আছি। আমি মনে করি আমি এই কীটি প্রথমে ওএসএক্স 10.5 এর মধ্যে সেট আপ করেছি। id_dsa, তবে আমি মনে করি না যে এটি গুরুত্বপূর্ণ হওয়া উচিত।
মাইকেল এইচ।

আমার id_rsaকীতে এটিতে একটি পাসওয়ার্ড রয়েছে।
সোমিন

আমারও এমন সমস্যা আছে যা আমি এতদিন আগে সমাধান করেছি যে আমি ঠিক কী করতে পারি তা মনে করতে পারছি না। তবে আমি মনে করি ধারণাটি চালানো নয়ssh-add , কেবল sshসরাসরি চালানো । আপনার উইন্ডোটি পপিং করা উচিত যা কীটির পাস বাক্যাংশ হিসাবে থাকবে এবং একটি চেকবক্স দিয়ে আপনাকে এটি আপনার কীচেইনে সংরক্ষণ করতে দেবে।
হ্যারাল্ড হানচে-ওলসেন

1
@ সোরিন - আমারও তাই! আমাকে এটিতে একবার প্রবেশ করতে হয়েছিল, অনেক আগেই এবং ম্যাক এটিকে আমার জন্য সেভ করেছে। আশা করি হারাল্ডের পরামর্শ সাহায্য করবে will
মাইকেল এইচ।

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

উত্তর:


684

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

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

পদক্ষেপ 1 - কীচেইনে কীটি সংরক্ষণ করুন

কেবল একবার এটি করুন:

ssh-add -K ~/.ssh/[your-private-key]

আপনার কী পাসফ্রেজ প্রবেশ করান, আপনাকে আবার জিজ্ঞাসা করা হবে না।

(আপনি যদি ওএসএক্সের প্রাক-সিয়েরা সংস্করণে থাকেন তবে আপনার কাজ শেষ হয়েছে, দ্বিতীয় ধাপের প্রয়োজন নেই))

পদক্ষেপ 2 - সর্বদা কীচেন ব্যবহার করতে এসএসএইচ কনফিগার করুন

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

সমাধানটি মোটামুটি সহজ, এবং এই গিথুব থ্রেড মন্তব্যে বর্ণিত । আপনি এটি কীভাবে সেট আপ করবেন তা এখানে:

  1. কীচেইনে কীটি সংরক্ষণ করার জন্য আপনি উপরে 1 ধাপটি সম্পন্ন করেছেন তা নিশ্চিত করুন।

  2. আপনার যদি ইতিমধ্যে না থাকে তবে একটি ~/.ssh/configফাইল তৈরি করুন। অন্য কথায়, .sshআপনার বাড়ির ডিরেক্টরিতে ডিরেক্টরিতে একটি ফাইল তৈরি করুন config

  3. এই .ssh/configফাইলটিতে, নিম্নলিখিত লাইনগুলি যুক্ত করুন:

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

    ~/.ssh/id_rsaআপনার ব্যক্তিগত কী এর আসল ফাইল নাম পরিবর্তন করুন । আপনার যদি আপনার ~.sshডিরেক্টরিতে অন্য ব্যক্তিগত কী থাকে তবে IdentityFileসেগুলির প্রত্যেকটির জন্য একটি লাইনও যুক্ত করুন। উদাহরণস্বরূপ, আমার কাছে একটি অতিরিক্ত লাইন রয়েছে যা IdentityFile ~/.ssh/id_ed25519২ য় প্রাইভেট কী ব্যবহার করে।

    UseKeychain yesমূল অংশ, যা, SSH বলে কী পাসফ্রেজ জন্য আপনার ওএসএক্স কীচেইনে সন্ধান করতে হয়।

  4. এটাই! পরের বার আপনি কোনও ssh সংযোগ লোড করবেন, এটি আপনার নির্দিষ্ট করা ব্যক্তিগত কীগুলি চেষ্টা করবে এবং এটি ওএসএক্স কীচেইনে তাদের পাসফ্রেজটি সন্ধান করবে। কোনও পাসফ্রেজ টাইপিংয়ের প্রয়োজন নেই।


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

4
@ পোলসবো এবং @ আব্রাম - আমার আপডেট দেখুন, সিয়েরা স্বয়ংক্রিয় আচরণ পরিবর্তন করেছে এবং এখন ssh-add -Aআপনার সংরক্ষিত কীচেইন লোড করতে আপনাকে ম্যানুয়ালি চালাতে হবে । উপরে উল্লিখিত কয়েকটি সম্ভাব্য সমাধান।
ত্রিশ্বয়েব

3
টিউসউইব টিপটির জন্য ধন্যবাদ। .ssh/configফাইলটি সংশোধন করতে জোশবুচির সমাধানটি আশাব্যঞ্জক মনে হচ্ছে! দেখুন github.com/lionheart/openradar-mirror/issues/...
Poulsbo

2
@ সোরিন আপডেট হওয়া উত্তরটি দেখুন এবং আপনার কোনও প্রতিক্রিয়া থাকলে আমাকে জানান। ধন্যবাদ!
ত্রিশ্বেব

9
দুর্দান্ত কাজ! আমার ক্ষেত্রে আমার কীগুলি আপনার চাবিগুলি চাবিতে যুক্ত করতে এবং এটিতে পাসফ্রেজটি নিবন্ধ করার জন্য Aপতাকাটি ছাড়াও ব্যবহার করতে Kহবে ssh-add -AK ~/.ssh/[your-private-key]। ধন্যবাদ!
youssman

21

আমার অনুরূপ সমস্যা ছিল, এর মধ্যে আমাকে আমার পাব-কী পাসফ্রেজের জন্য প্রতিটি সময় জিজ্ঞাসা করা হয়েছিল।

উপরের "ট্রাইস্বেব" ব্যবহারকারীর পরামর্শ অনুসারে, আমি এই বিকল্পগুলি ~ / .ssh / config এ চালু করেছি:

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

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

শেষ পর্যন্ত আমি "ssh -v" চালু করে এই ডিবাগ লাইনটি পেয়েছি:

ডিবাগ 1: কী_লোড_প্রাইভেট: প্রাইভেট কী ডিক্রিপ্ট করার জন্য ভুল পাসফ্রেজ সরবরাহ করা হয়েছে

তারপরে আমি "কীচেইন অ্যাক্সেস.এপ" এ আমার কীচেইনটি খুললাম, "এসএসএইচ: / ব্যবহারকারী / ব্যবহারকারীর নাম / এসএসসি / আইডি_সর্সা" নামের কীটি পেয়েছি এবং এটি খুললাম।

আমি পাসওয়ার্ডটি প্রকাশ করতে "পাসওয়ার্ড দেখান" ক্লিক করেছি এবং সত্যই খুঁজে পেয়েছি যে কেরিংয়ের পাসফ্রেজটি একটি পুরানো পাসফ্রেজ ছিল।

আমি কীচেইন অ্যাক্সেসে পাসফ্রেজ আপডেট করেছি এবং এখন পাসওয়ার্ড মুক্ত কাজ করে।

আমি এই বাক্যাংশটি দিয়ে পাসফ্রেজটি আপডেট করতে পারতাম:

ssh-keygen -p -f ~ / .ssh / id_rsa


13

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

  1. আপনার "লগইন" কীচেইনের জন্য সেটিংস পরিবর্তন করুন। ধরে নিচ্ছি আপনার ssh কীটি "লগইন" কীচেইনে সঞ্চিত আছে।

    • কীচেন অ্যাক্সেস খুলুন
    • "লগইন" কীচেনটি হাইলাইট করুন
    • "লগইন" কীচেইনে রাইট-ক্লিক বা বিকল্প-ক্লিক করুন
    • "নিষ্ক্রিয়তার দশ মিনিটের পরে লক করুন" এবং "ঘুমানোর সময় লক করুন" চেকবাক্সগুলি নির্বাচন করুন।
  2. একটি পাসফ্রেজ ব্যবহার না করেই অন্য একটি এসএসএইচ কী তৈরি করুন।

    • টার্মিনাল খুলুন।
    • কমান্ড লিখুন: ssh-keygen -t rsa -b 4096 -C <comment> -f <.ssh/id_rsa>
    • -t প্রকারের জন্য, -b মূল আকার, -সি মন্তব্য, -ফ আউটপুট ফাইল (প্রথমে ডিরেক্টরি তৈরি করতে হবে)
    • একটি পাসফ্রেজ সেট করবেন না।
    • "লগইন" কীচেইন সহ এসএসএইচ কীটি আমদানি করুন ssh-add -K <path to ssh key>

আপনাকে আর কীচেন পাসওয়ার্ডের জন্য অনুরোধ করা উচিত নয়।


2
মনে রাখবেন যে ssh-addএসএসএইচ থেকে অভ্যর্থনা security unlock-keychainজানাতে অবশ্যই প্রথমে কল করা উচিত। এছাড়াও, -fপ্যারামিটারের জন্য আমাকে ডিরেক্টরিগুলি তৈরি করতে হয়নি । দুর্ভাগ্যক্রমে, security unlocl-keychainলগইন কীচেইন অ্যাক্সেস করার জন্য আমাকে এখনও এসএসএইচ সেশনগুলিতে কল করতে হয়েছিল, যা প্রতিবার পাসওয়ার্ডের জন্য অনুরোধ জানায় ...
ওহাদ স্নাইডার

2
পুরো পয়েন্টটি কীটিতে একটি পাসফ্রেজ থাকা। আমি সন্দেহ করি যে একটি নতুন এসএসএইচ কী তৈরি করা প্রশ্নের পক্ষে সহায়ক।
ধূসর

7

এছাড়াও, ম্যাকোস সিয়েরা এবং হাইসিয়ারায় (পূর্ববর্তী সংস্করণগুলি সম্পর্কে জানেন না), দৌড়াদৌড়ি ssh-add -Aএজেন্টকে এমন সমস্ত কীগুলি লোড করতে দেবে যার পাসফ্রেজগুলি কীচেইনে সংরক্ষিত আছে ... খুব সহজ


7

উপরের কাজ করে না এমন সকলের জন্য, আমার সমস্যাটি মনে হয় কারণ আমি UseKeychain yes& AddKeysToAgent yesসমস্ত এসএসই কী প্রোফাইল / শর্টকাটগুলিতে এবং নকল করছি । আমি ~/.ssh/configএকবারে এটি ঘোষণার জন্য আমার ফাইল আপডেট করেছি এবং সেগুলি এখন প্রারম্ভকালে পাসওয়ার্ডগুলির অনুরোধ ছাড়াই লগইনে লোড হয়, যেমন:

Host *
  UseKeychain yes
  AddKeysToAgent yes
  IdentityFile ~/.ssh/foo
  IdentityFile ~/.ssh/bar

Host foo
  HostName foo.com
  User fooUser
  IdentityFile ~/.ssh/foo

Host bar
  HostName bar.com
  User barUser
  IdentityFile ~/.ssh/bar

-3

এতে সর্বজনীন কী যুক্ত করুন:

.ssh/known_hosts

পাবলিক কী সাধারণত চালু থাকে:

/home/user/.ssh/id_rsa.pub

আশা করি এইটি কাজ করবে


8
আমি মনে করিauthorized_keys
রিনি লারসেন

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