উইকিপিডিয়া নিবন্ধ সম্ভবত সবচেয়ে ভাল বিবরণ আছে:
সার্ভারে যাচাইকরণ চ্যালেঞ্জ-প্রতিক্রিয়া প্রমাণীকরণের ভিত্তিতে। ssh একটি ব্যবহারকারীর নাম এবং একটি কীটির অনুরোধের সাথে সার্ভারের সাথে সংযোগ স্থাপন করে। Ssh ডিমন অনুরোধ পেয়েছে এবং প্রমাণীকরণ ফাইলে সঞ্চিত পাবলিক কী এর উপর ভিত্তি করে একটি চ্যালেঞ্জ ফিরিয়ে দেয়। কী-এর প্রতিক্রিয়া তৈরি করতে ssh প্রাইভেট কী ব্যবহার করে এবং এটি সংযোগের অন্য প্রান্তে ওয়েটিং এসএসডি-তে প্রেরণ করে। এটি প্রাইভেট কী নিজেই প্রেরণ করে না। Ssh ডিমন কী প্রতিক্রিয়াটি বৈধ করেছে, এবং যদি বৈধ হয় তবে সিস্টেমে অ্যাক্সেস মঞ্জুরি দেয়। ssh-এজেন্ট এসকেএইচ সংযোগগুলির জন্য শোনার একটি সকেট তৈরি করে এটিকে সহজতর করে if ব্যবহারকারী সহজেই ssh-এজেন্ট শুরু করেন, কীভাবে কীগুলি কীভাবে সন্ধান করবেন (যদি সেগুলি ডিফল্ট অবস্থানে না থাকে), এক-সময় ভিত্তিতে প্রতিটি কী ব্যবহার করার জন্য পাসফ্রেজে প্রবেশ করে,
আবার উইকিপিডিয়া নিবন্ধ থেকে ভারব্যাটিম:
... ssh- এজেন্ট একটি সকেট তৈরি করে এবং তারপরে ssh থেকে সংযোগগুলি পরীক্ষা করে। এই সকেটে সংযোগ করতে সক্ষম প্রত্যেকেরই এসএসএল-এজেন্টের অ্যাক্সেস রয়েছে। অনুমতিগুলি সাধারণ লিনাক্স বা ইউনিক্স সিস্টেমের মতো সেট করা থাকে। যখন এজেন্ট শুরু হয়, এটি সীমাবদ্ধ অনুমতি সহ / টিএমপি-তে একটি নতুন ডিরেক্টরি তৈরি করে। সকেটটি ফোল্ডারে অবস্থিত।
এটি সাধারণত কোনও সিস্টেম বা ব্যবহারকারীর আরসি ফাইল যেমন $HOME/.bashrc
বা $HOME/.profile
বাশ শেলের জন্য রাখা হয় যাতে পরিবেশের ভেরিয়েবলগুলি ssh-agent
আপনার পরিবেশে সম্পূর্ণরূপে সংহত হয়।
আমার ফেডোরা 14 সিস্টেমে এটি এক্স 11 সাবসিস্টেমের অংশ হিসাবে বেশ তাড়াতাড়ি শুরু হয়। এই ফাইলটিতে /etc/X11/xinit/xinitrc-common
:
# Prefix launch of session with ssh-agent if available and not already running.
SSH_AGENT=
if [ -z "$SSH_AGENT_PID" ] && [ -x /usr/bin/ssh-agent ]; then
if [ "x$TMPDIR" != "x" ]; then
SSH_AGENT="/usr/bin/ssh-agent /bin/env TMPDIR=$TMPDIR"
else
SSH_AGENT="/usr/bin/ssh-agent"
fi
fi
ভেরিয়েবলটি $SSH_AGENT
এখানে অন্য এক্স 11 স্টার্ট-আপ স্ক্রিপ্টগুলিতে ব্যবহার করা হয় /etc/X11/xinit/Xclients
:
exec -l $SHELL -c "$SSH_AGENT $XCLIENTS_D/Xclients.$1.sh"
এটি এখানে অন্তর্ভুক্ত করে, নিম্নলিখিত পরিবেশের ভেরিয়েবলগুলি প্যারেন্ট শেলের অংশ হিসাবে সেট হয়ে যাচ্ছে, সুতরাং সমস্ত কাঁটাযুক্ত বাচ্চাদেরও তাদের থাকা উচিত, উদাহরণস্বরূপ:
SSH_AUTH_SOCK=/tmp/ssh-PspRF18958/agent.18958; export SSH_AUTH_SOCK;
SSH_AGENT_PID=18959; export SSH_AGENT_PID;
এতে আরও কিছুটা জটিলতা রয়েছে তবে সংক্ষেপে এটি মূলত যা চলছে তা ssh-agent
।
জিনোমে উদাহরণস্বরূপ, ssh-agent
আসলে প্রতি ব্যবহারকারীকে একটি স্টার্ট-আপ অ্যাপ্লিকেশন হিসাবে চালু করা হয়:
টি এল; ডিআর
নীচের লাইনটি ssh-agent
বিদ্যমান, যাতে আপনার এসএস কীগুলি দরকার হলে আপনাকে কেবল তাদের পাসফ্রেজ দিয়ে একবার তাদের আনলক করতে হবে (ধরে নিলে তাদের একটি রয়েছে) এবং তারপরে সেগুলি তাদের ডিক্রিপ্ট করা আকারে মেমরি (র্যাম) এ উপলব্ধ।