تا اینجای فعال کردن ورود امن با استفاده از کلیدهای امنیتی SSH سرور لینوکس، به تنظیماتی که باید روی سرویس SSH انجام میدادید و همچنین ساخت کلیدهای امنیتی اشاره کردیم. این آموزش در ادامۀ مقالات گذشته نوشته شده است. پس اگر آنها را مطالعه نکردید، پیشنهاد میشود اول آنها را بخوانید و طبق آموزش پیش بروید. چون الان ما میخواهیم کلید عمومی (Public Key) که در مرحلۀ قبلی ساختیم را رور سرور لینوکس بارگذاری کنیم.
برای این کار چندین راه حل داریم. که البته باز هم بسته به اینکه سیستم عامل رایانۀ شخصی ما چیست، میتوانیم از آنها استفاده کنیم.
بارگذاری کلید عمومی روی سرور لینوکس از رایانۀ لینوکس
اگر از لینوکس استفاده میکنیمد میتوان با دستور scp مبادرت به کپی کلید عمومی روی سرور کرد. به این شیوه:
scp ~/.ssh/id_rsa.pub username@server.name.net:
مسیر کلید عمومی روی رایانهتان را باید به جای عبارتی که به رنگ سبز مشخص شده است قرار دهید. که در بیشتر مواقع همین مسیر است. به جای username باید نام کاربری ورود به سرور لینوکس و همچنین به جای server.name.net باید نام هاست یا IP سرور خود را وارد کنید. پس از اینکه لینوکس شما تلاش کرد تا به سرور متصل شود، از شما رمز عبور را هم درخواست میکند که باید وارد کنید تا کار کپی کردن کلید عمومی به اتمام برسد.
اگر در دستور بالا دیده باشید یک نویسۀ دونقطه (:) هم در انتهای دستور وجود دارد که بعد از آن میتوانید مسیری که باید این پرونده در آنجا روی سرور لینوکس کپی شود را وارد کنید. اما اگر خالی بگذارید پوشۀ خانگی (root) مقصد فایل کپی شده در نظر گرفته میشود.
نکته: دستور scp یک دستور برای کپی کردن یک پرونده یا پوشه از روی یک رایانۀ لینوکس روی یک رایانۀ دیگر، بر بستر شبکه است که بسیار امن است.
اگر یادتان باشد ما کلید عمومی را با پسوند pub. ذخیره کردیم. ولی اگر نام دیگری برای ذخیره سازی این کلید در نظر گرفتید، باید نام آن را جایگزین دستور بالا کنید. به هر حال، حالا پروندۀ id_rsa.pub از روی رایانۀ لینوکسی شما روی سرور لینوکس قرار گرفت.
حالا باید وارد سرور خود شوید و به مسیری بروید که کلید عمومی را در آنجا کپی کردید. برای ورود به سرور از دستور ssh استفاده کنید. حالا دستور زیر را بزنید:
cat id_rsa.pub >> ~/.ssh/authorized_keys
به نام پروندهای که در دستور بالا مشخص شده است دقت کنید که دقیقاً همان نام کلید مورد نظر باشد. با این دستور ما محتویات موجود درون این پرونده را درون یک پروندۀ دیگر با نام authorized_keys در مسیر ssh. از پوشۀ خانگی کاربریِ خود میریزیم. حالا اگر به مسیر زیر بروید حتماً چنین پروندهای را خواهید دید. منظور ما از علامت ~ همیشه پوشه خانگی است که اگر مدیر سرور باشید پوشۀ root معادل ~ خواهد بود.
~/.ssh
بارگذاری کلید عمومی روی سرور لینوکس از رایانۀ ویندوز
کار ما برای بارگذاری کلید عمومی ورود امن SSH روی سرور لینوکس به اتمام رسید. اما اگر رایانۀ شما ویندوز بود چه؟ در این حالت باید وارد سرور لینوکس خود شوید (با Putty). سپس به پوشۀ خانگی خود رفته (root) و با دستور mkdir یک پوشه با نام .ssh بسازید.
mkdir .ssh
این پوشه یک پوشۀ مخفی است. پس در فهرست کردن عادی محتویات مسیر، این پوشه و پوشههای دیگری که در ابتدای نام آنها نقطه (.) وجود دارد دیده نخواهد شد. حتماً باید از دستور زیر استفاده کنید:
ls -la
به هر حال حالا با دستور nano یک سند خالی با نام authorized_keys بسازید.
نکته: شما میتوانید نام پروندۀ authorized_keys را هر چه دوست داشته باشید بگذارید. اما باید از طریق تنظیمات پروندۀ sshd_config مقدار AuthorizedKeysFile را برابر با نام پروندۀ کلید خود قرار دهید. البته پس از اینکه آن را از حالت توضیح درآوردید (نویسۀ # را از ابتدای آن حذف کردید).
nano ~/.ssh/authorized_keys
و محتویات کلید عمومی که روی رایانۀ خودتان قرار دارد را کپی کرده و درون نرم افزار nano (با یک بار راست کلیک در محیط Putty) قرار دهید. حالا طبق آموزشهای گذشته سند را ذخیره کرده و کار شما تمام است. نکتۀ بسیار مهم این است که دقت داشته باشید تمامی محتویات پروندۀ authorized_keys درون یک خط باشد! یعنی اصطلاحاً بین محتوای سند Enter نداشته باشد. در ضمن با عبارت ssh-rsa شروع شده باشد و هر چه قبل از آن باشد را باید حذف کنید.
پس اگر الان با دستور cat خواسته باشید محتویات فایلی که اخیراً ساختیم را ببینیم، باید نتیجه این گونه به ما برگردانده شود:
# cat ~/.ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAt+PzzOFcecabwsXnjPPd+eqrqF5d2qh6kRIbnInSgwqWlPvnyfxa2Ye1xhGjCssbYdPWA7epJ/42yMFQfg6RGynW9XjWMomWeA/1+2LGY4B7JBJQfuTdDB/AimJRQvlSmxklfktmuqx0S8u67mLdkRWY+uQD8Ec7TCxWC9pU5Hv3Hq4Rfg5KLZl/gcJyMCr3nhKXXnL65pAM0EdCmkefHxvHJ4InVuzXmDru7GVQXH1bd3Uy9UIRhIs9wORlTvwesUzWEH/eTCjGSTgGRaEguo9FISRcilODuYQrcrvN8eILZxXNsiprw0azMibonkb3yuQ6mfVxtRoB4JL3vsFIbw== root@server
بهترین کار برای وارد کردن کلید عمومی به درون پروندۀ authorized_keys این است که اول فایل کلید عمومی را درون یک ویرایشگر روی رایانۀ خودمان باز کنیم و عبارات اضافی آن را طبق نمونۀ بالا و توضیحات گفته شده حذف کنیم. پس از آن همه را درون یک خط جای دهیم. باید دقت شود که هیچ حرفی حذف نشده باشد. حالا کل خط را کپی کرده و درون نرم افزار nano با راست کلیک درون محیط Putty بچسبانیم.
اگر بعداً برای ورود به سرور با مشکلی روبرو شدید و خطای refused به شما داده شد، به احتمال زیاد مشکل از این مرحله است. بهتر است یک بار دیگر مراحل این بخش را با دقت بیشتری تکرار کنید.
تنظیم جواز دسترسیهای کلید عمومی
یکی از مهمترین کارهایی که باید انجام دهید تنظیم Permission یا همان جواز دسترسی پروندۀ authorized_keys روی سرور لینوکس است. دو خط دستور زیر را جداگانه بزنید:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
جواز دسترسی پوشۀ ssh. باید ۷۰۰ و پروندۀ authorized_keys که همان کلید عمومی ماست باید ۶۰۰ باشد. در غیر این صورت ممکن است هنگام اتصال به سرور با مشکل مواجه شوید. چیزی که الان باید تا اینجا روی سرور لینوکس خود در مسیر ssh. داشته باشید این خواهد بود:
#ll total 4 -rw-------. 1 root root 381 Apr 7 12:25 authorized_keys
بدین ترتیب الان شما آماده هستید تا در مرحلۀ بعدی با نرم افزار Putty از روی ویندوز، یا با پایانه از روی لینوکس با استفاده از کلید خصوصیای که همینک روی رایانۀ شماست وارد سرور لینوکس خود شوید.
در نهایت کارهایی که شما برای اتصال امن با استفاده از کلید امنیتی برای اتصال به سرور لینوکس باید انجام بدهید، بسیار ساده است. دلیل اینکه بنده این همه توضیح میدهم این است که به طور کامل موضوع برای شما باز شود و بدانید در هر مرحله برای چه باید آن کار را انجام دهید. در ضمن برای سکوهای مختلف مثل ویندوز و لینوکس آموزشهای کامل داده میشود تا همه بتوانند از این آموزشها استفاده کنند. در غیر این صورت شاید بتوان با چند خط توضیح فهرستی، سر و ته کار را به هم آورد و بقیۀ کارها را به آزمون و خطای خود شما سپرد. در هر صورت کار کردن با سرور لینوکس بسیار ساده و لذت بخش است. موفق باشید!
۰ دیدگاه