আপনি SSH ব্যবহার করে করছি এবং আপনার ব্যক্তিগত কী একটি পাসফ্রেজ দিয়ে এনক্রিপ্ট করা থাকে, তাহলে আপনি এখনও ব্যক্তিগত কীয়ের জন্য পাসফ্রেজ / পাসওয়ার্ড উল্লেখ করার অনুরোধ জানানো থাকবেন কারণ যখনই আপনি গীত সঙ্গে নেটওয়ার্ক অপারেশন না মত push
, pull
এবং fetch
।
ব্যক্তিগত কী পাসফ্রেজ / পাসওয়ার্ড শংসাপত্রগুলি সংরক্ষণ করতে ssh-এজেন্ট ব্যবহার করুন
আপনি যদি নিজের পাসফ্রেজটি প্রতিবার প্রবেশ করা এড়াতে চান, আপনি ssh-agent
একবার টার্মিনাল সেশন অনুযায়ী আপনার ব্যক্তিগত কী পাসফ্রেজ শংসাপত্রগুলি সংরক্ষণ করতে ব্যবহার করতে পারেন , আমি আমার উত্তরে বলেছি যে আপনার প্রমাণীকরণ এজেন্টের সাথে কোনও সংযোগ খুলতে পারিনি :
$ eval `ssh-agent -s`
$ ssh-add
উইন্ডোজ এমএসজিগিত বাশ-এ আপনাকে আউটপুট মূল্যায়ন ssh-agent
করতে হবে তবে অন্যান্য বিকাশ পরিবেশ এবং অপারেটিং সিস্টেমে আপনার একই কাজ করার দরকার আছে কিনা তা আমি নিশ্চিত নই।
ssh-add
আপনার হোম .ssh
ফোল্ডারের নামক একটি প্রাইভেট কী অনুসন্ধান করে id_rsa
যা ডিফল্ট নাম, তবে আপনি কোনও আলাদা নাম দিয়ে কোনও ফাইলপ্যাট একটি কীতে পাস করতে পারেন।
এজেন্ট হত্যা
আপনি যখন আপনার টার্মিনাল সেশনটি সম্পন্ন করবেন, আপনি ssh-agent
কিল পতাকা দিয়ে শাটডাউন করতে পারেন -k
:
$ ssh-agent -k
ssh-agent
ম্যানুয়ালটিতে যেমন ব্যাখ্যা করা হয়েছে :
-k
বর্তমান এজেন্টকে হত্যা করুন (এসএসএইচ_এজিআইপিআইপিআইডি এনভায়রনমেন্ট ভেরিয়েবল দ্বারা প্রদত্ত)।
.চ্ছিক সময়সীমা
এছাড়াও, এটি এর মতো একটি alচ্ছিক সময়সীমা প্যারামিটার নিতে পারে:
$ ssh-add -t <timeout>
যেখানে <timeout>
বিন্যাসের হয় <n>h
জন্য <n>
ঘন্টা, <n>m
জন্য <n>
মিনিট, ইত্যাদি।
ssh-agent
ম্যানুয়াল অনুসারে :
-t life
এজেন্টে যুক্ত সর্বাধিক আজীবনের জন্য একটি ডিফল্ট মান সেট করুন। আজীবন সেকেন্ডে বা একটি সময় বিন্যাসে sshd_config (5) এ নির্দিষ্ট করা যেতে পারে । Ssh-add (1) সহ একটি পরিচয়ের জন্য নির্দিষ্ট জীবনকাল এই মানটিকে ওভাররাইড করে। এই বিকল্পটি ছাড়াই ডিফল্ট সর্বাধিক জীবনকাল চিরকাল।
আরও সময় ফর্ম্যাট জন্য এই পৃষ্ঠাটি দেখুন ।
সাইগউইন ব্যবহারকারীদের জন্য সুরক্ষা সতর্কতা
সাইগউইন ব্যবহারকারীদের সাইগউইন -এ এসএস-এজেন্ট ব্যবহার করে একটি সম্ভাব্য সুরক্ষা ঝুঁকি সম্পর্কে সচেতন হওয়া উচিত :
লোকেরা সাইগউইন 1 এর অধীনে এসএসএল-এজেন্টের সম্ভাব্য বিপদগুলি সম্পর্কে সচেতন হওয়া উচিত , যদিও স্থানীয় নেটস্ট্যাট এবং রিমোট পোর্টস্ক্যানের অধীনে এটি প্রদর্শিত হয় না যে / tmp / ssh-foo এ উল্লিখিত বন্দরটি কারও অ্যাক্সেসযোগ্য ...?
[1]: http://www.cygwin.com/ml/cygwin/2001-01/msg00063.html
এবং উদ্ধৃত লিঙ্কে :
তবে খেয়াল করুন যে সাইগউইনের ইউনিক্স ডোমেন সকেটগুলি স্বল্প পরিমাণে ইনসিকিউর এবং তাই আমি সাইগউইনের অধীনে এসএসএল-এজেন্টের ব্যবহারকে দৃ strongly ়ভাবে অস্বীকার করি।
আপনি যখন সাইগউইনের অধীনে ssh-এজেন্ট পরিচালনা করেন এটি /tmp/ssh-$USERNAME/
ডিরেক্টরিতে AF_UNIX সকেট তৈরি করে । সাইগউইন এএফ_ইউএনআইএক্স এর অধীনে সকেটগুলি এএফপিইটি সকেটের মাধ্যমে অনুকরণ করা হয়। আপনি /tmp/ssh-$USERNAME/agent-socket-*
নোটপ্যাডের মাধ্যমে যদি ফাইলটি সন্ধান করেন তবে আপনি তা সহজেই দেখতে পাবেন । আপনি কিছু দেখতে পাবেন
!<socket >2080
তাহলে দৌড়ে netstat -a
গিয়ে অবাক! আপনার কাছে 2080 বন্দর শোনার কিছু প্রোগ্রাম রয়েছে It's এটি ssh- এজেন্ট। সার্ভারের কাছ থেকে যখন এসএসএস কোনও আরএসএ চ্যালেঞ্জ গ্রহণ করে, তখন এটি সংশ্লিষ্টটিকে বোঝায় /tmp/ssh-$USERNAME/agent-socket-*
(সাইগউইনের অধীনে, আমাদের ক্ষেত্রে এটির সংযোগটি উন্মুক্ত হবে localhost:2080
) এবং এসএসএস-এজেন্টকে তার ব্যক্তিগত কী দিয়ে আরএসএ চ্যালেঞ্জটি প্রক্রিয়া করতে বলে এবং তারপরে এটি কেবলমাত্র ssh-এজেন্ট থেকে প্রাপ্ত প্রতিক্রিয়াটিকে সার্ভারে পাস করে।
ইউনিক্সের অধীনে, এই জাতীয় পরিস্থিতি সমস্যা ছাড়াই কাজ করে, কারণ যখন প্রোগ্রামটি একটি AF_UNIX সকেটে অ্যাক্সেস করার চেষ্টা করে তখন ইউনিক্স কার্নেল অনুমতি পরীক্ষা করে। এএফপিইটি সকেটের ক্ষেত্রে তবে সংযোগগুলি বেনামে রয়েছে ("নিরাপদ" পড়ুন)। কল্পনা করুন, আপনার সাইগউইন এসএস-এজেন্ট চলছে। কোনও দূষিত হ্যাকার আপনার বক্সটি পোর্ট করতে পারে, এসএসএইচ-এজেন্ট দ্বারা ব্যবহৃত ওপেন পোর্টটি সনাক্ত করতে পারে, আপনার এসএসএইচ সার্ভারের সাথে একটি সংযোগ খুলতে পারে, সেখান থেকে আরএসএ চ্যালেঞ্জ গ্রহণ করতে পারে, সে খোলা পোর্টের মাধ্যমে আপনার এসএস-এজেন্টকে এটি প্রেরণ করতে পারে, সেগুলি গ্রহণ করতে পারে আরএসএ প্রতিক্রিয়া, এটি এসএসএইচ সার্ভারে এবং ভয়েলাতে প্রেরণ করুন, তিনি সফলভাবে আপনার সার্ভারে আপনার হিসাবে লগ ইন করেছেন।