রিবুটগুলির মধ্যে ssh-add অবিচ্ছিন্ন নয়


150

আমি এজেন্টে একটি এসএস কী যুক্ত করেছি:

$ ssh-add ~/.ssh/id_rsa_mac
Identity added: /Users/alex/.ssh/id_rsa_mac (/Users/alex/.ssh/id_rsa_mac)

পুনরায় বুট করার পরে এজেন্টের আর এই কীটি যুক্ত হয় না:

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

এটা কেন হল?


আমার কাছে এখনই পুরোপুরি উত্তর দেওয়ার সময় নেই, তবে এসএসএস মোডে জিপিজি-এজেন্ট আপনি যা চান তা করবে। উত্তরাধিকারের ssh- এজেন্টের পরিবর্তে এটি চেষ্টা করুন। যদি এটি সাহায্য করে তবে আমি পরে সময় পেলে এটি চেষ্টা এবং প্রসারিত করতে পারি।
মান

@ ভ্যালিটি: আমি সন্দেহ করি জিপিজি-এজেন্ট অবিচ্ছিন্ন রিবুটগুলি হবে।
পাভেল Šিমেরদা

@ পাভেলিমারদা এটি ব্যবহারকারীর পাসওয়ার্ডের সাথে প্রাইভেট কীগুলি এনক্রিপ্ট করে তারপরে আপনি এসএস $HOME/.gnupg/private-keys-v1.d-অ্যাড দিয়ে যুক্ত করার সাথে সাথে এগুলিতে রাখে । এটা সত্যিই অধ্যবসায়ী। ধরে নিচ্ছি আপনার একটি অস্থির হোম ডিরেক্টরি রয়েছে।
মান

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

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

উত্তর:


174

এজেন্টে কী যুক্ত করা ক্ষণস্থায়ী। এজেন্ট চলমান এগুলি কেবল এত দিন স্থায়ী হয়। আপনি যদি এটি হত্যা করেন বা আপনার কম্পিউটার পুনরায় চালু করেন তবে আপনি তাদের পুনরায় যুক্ত না করা পর্যন্ত তারা হারিয়ে যাবে। থেকে ssh-agentমানুষ পৃষ্ঠা:

ssh- এজেন্ট একটি প্রোগ্রাম যা সর্বজনীন কী প্রমাণীকরণের জন্য ব্যবহৃত ব্যক্তিগত কী (আরএসএ, ডিএসএ, ইসিডিএসএ) রাখে। ধারণাটি হ'ল এক্স-সেশন বা লগইন সেশনের শুরুতে এসএসএইচ-এজেন্ট শুরু হয় এবং অন্যান্য উইন্ডো বা প্রোগ্রামগুলি এসএসএইচ-এজেন্ট প্রোগ্রামের ক্লায়েন্ট হিসাবে শুরু হয়। এনভায়রনমেন্ট ভেরিয়েবল ব্যবহারের মাধ্যমে এজেন্টটি সনাক্ত করা যায় এবং ssh (1) ব্যবহার করে অন্য মেশিনগুলিতে লগ ইন করার সময় প্রমাণীকরণের জন্য স্বয়ংক্রিয়ভাবে ব্যবহৃত হতে পারে।

এজেন্টের প্রাথমিক কোনও ব্যক্তিগত কী নেই। কীগুলি ssh-add (1) ব্যবহার করে যুক্ত করা হয়। যখন আর্গুমেন্ট ছাড়া মৃত্যুদন্ড কার্যকর, SSH-জুড়ুন (1) ফাইল অন্তর্ভুক্ত করা হয় ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsaএবং ~/.ssh/identity। পরিচয়টির একটি পাসফ্রেজ থাকলে ssh-add (1) টার্মিনালে পাসফ্রেজ জিজ্ঞাসা করে যদি এটি একটি থাকে বা X11 এর অধীনে চলতে থাকে তবে একটি ছোট এক্স 11 প্রোগ্রাম থেকে থাকে। যদি এগুলির কোনওটি না হয় তবে প্রমাণীকরণ ব্যর্থ হবে। এটি এজেন্টের কাছে পরিচয়টি প্রেরণ করে। বেশ কয়েকটি পরিচয় এজেন্টে সংরক্ষণ করা যেতে পারে; এজেন্ট স্বয়ংক্রিয়ভাবে এই কোনও পরিচয় ব্যবহার করতে পারে। ssh-add -lএজেন্টের দ্বারা বর্তমানে চিহ্নিত পরিচয় প্রদর্শন করে।

ম্যাকস সিয়েরা

ম্যাকোস সিয়েরা 10.12.2 দিয়ে শুরু করে অ্যাপল এসএসএইচ কনফিগারেশনের জন্য একটি ইউজকিচেন কনফিগারেশন বিকল্প যুক্ত করেছে। আপনি যোগ করে এই বৈশিষ্ট্যটি সক্রিয় করতে পারেন UseKeychain yesআপনার টু ~/.ssh/config

Host *
  UseKeychain yes

ওএসএক্স কীচেন

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

আমি বুঝতে পেরেছি যেহেতু ম্যাক ওএস এক্স চিতাবাঘের দ্বারা কীচেইন এসএসএইচ কীগুলি সঞ্চয় করতে সমর্থন করেছে। এই বৈশিষ্ট্যটি কীভাবে কাজ করবে বলে অনুগ্রহ করে কেউ তাকে ব্যাখ্যা করতে পারেন।

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

$ ssh-add -K [path/to/private SSH key]

আপনার কীগুলি বুট থেকে বুট অবধি চলতে হবে।

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

  ssh-add -l

উত্স: সুপার ব্যবহারকারী - এসএসএইচ কীগুলির সাহায্যে ম্যাক ওএস এক্স কীচেইন কীভাবে ব্যবহার করবেন?


সত্যি? লিনাক্সে আমার এই সমস্যা নেই। প্রতিবার আমার কম্পিউটারটি পুনরায় চালু করার জন্য আমাকে কি "এসএসএড-যুক্ত মাই_কি" করতে হবে?
レ ッ ク ス

2
@ অ্যালেক্স উত্তরটির ব্যাখ্যা হিসাবে, এজেন্ট স্বয়ংক্রিয়ভাবে যুক্ত হয় ~/.ssh/id_rsa। আমি অনুমান করছি এটি লিনাক্সে আপনার কীফিলের অবস্থান। আপনি স্ট্যান্ডার্ড ssh কী এজেন্ট ব্যবহার করছেন না তাও সম্ভব। গনোম-কিরিং-ডেমন এর মতো অন্যান্য রয়েছে, যার বিভিন্ন আচরণ থাকতে পারে।
প্যাট্রিক

তবে ম্যাকের উপরে এটির নাম "id_rsa_mac"। আমি কীভাবে এজেন্টটিকে এটি স্বয়ংক্রিয়ভাবে যুক্ত করব?
ア レ ッ ク ス

@ পেট্রিক: ক্লাসিক ssh-agentস্বয়ংক্রিয়ভাবে কোনও কী যুক্ত করে কিনা তা আমি নিশ্চিত নই । আমার মতে এটি ssh-addস্ট্যান্ডার্ড অবস্থানগুলি বা sshক্লায়েন্টটি পড়ছে যদি আপনি এজেন্ট ব্যবহার না করেন।
পাভেল Šিমেরদা

5
ছোট সিডেনোট, যদি আপনার এসএস-অ্যাড কমান্ডটি-কে পতাকাটি চিনতে না পারে আপনি সম্ভবত এসএসএড-এর ম্যাকপোর্টগুলি সংস্করণ ব্যবহার করছেন ... আপনি এসএসএড-অ্যাডের ওএসএক্স সংস্করণটির পুরো পথ নির্দিষ্ট করে ম্যাকপোর্টগুলি সংস্করণটি বাইপাস করতে পারবেন you এর মতো:/usr/bin/ssh-add -K /path/to/private/key
ক্রিসআর

20

ssh-agentএকটি হল সেশন পরিষেবা যা সাময়িকভাবে কী সঞ্চয় করে ব্যবহারকারীর জন্য।

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

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

মানক অবস্থানগুলিতে মানক অবস্থানগুলি তালিকাভুক্ত করা হয়েছে ssh(1):

প্রোটোকল সংস্করণ 1, এবং prot / .ssh / id_dsa, ~ / .ssh / id_ecdsa, ~ / .ssh / id_ed25519 এবং প্রোটোকল সংস্করণ 2 এর জন্য default / .ssh / id_rsa ডিফল্ট ~

অমানুষিক অবস্থানগুলি ব্যবহার করার সময়, আপনি একই ম্যানুয়াল পৃষ্ঠায় বর্ণিত -iস্যুইচটি ব্যবহার করতে পারেন sshবা আপনি যে এসএসএইচ ক্লায়েন্ট ব্যবহার করছেন তা সম্পর্কিত বিকল্পটি ব্যবহার করতে পারেন।


4
অ-ব্যবহারের পক্ষে পরামর্শ দেওয়ার জন্য +1ssh-agent
dg99

7

ইন সিয়েরা :

UseKeychain ব্যবহার করুন । (আমি এটি চেষ্টা করি নি তবে এটি সবচেয়ে সঠিক সমাধান বলে মনে হচ্ছে))

অথবা

ssh-add -K /your/key
echo ssh-add -A | cat >> ~/.bash_profile

অথবা এড করার পরিবর্তে প্লিস্ট ফাইল তৈরি করুন~/.bash_profile

দাবি অস্বীকার: অন্যরা যেমন বলেছে, কীচেইনে এসএসএস পাসফ্রেজ সংরক্ষণ করা কতটা সুরক্ষিত তা আমি জানি না।


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