۵۶۷۵ ۲۸۴۲ - ۰۲۱ info@gitiserver.com

اتصال به سرور با ssh key و بدون رمز - گیتی سرور | GITI Server

13 اردیبهشت 1400

post-thumnail

برای اتصال به سرور با ssh نیاز به یک رمز عبور داریم. به دلایل مختلف امنیتی ممکن است استفاده همیشگی از این روش مناسب نباشد، از این رو روش اتصال ssh بدون رمز توصیه می‌شود. در ادامه تعدادی از این دلایل و روش اتصال ssh بدون رمز را بیان خواهیم کرد.

مزایا و معایب داشتن رمز عبور

مزیت password این است که شما با هر سیستمی که باشید به راحتی می‌توانید فقط با وارد کردن رمز خود shell گرفته و کار خود را انجام دهید اما رمزها مشکلات زیادی دارند که باعث می‌شود این مزیت اعتبار زیادی نداشته باشد؛ مثلا ممکن است قابل حدس باشند مانند “1234”. همچنین رمز می‌تواند کرک شود؛ در واقع هکرها با ابزارهایی در چند ثانیه هزاران رمز احتمالی را روی سرور شما امتحان می‌کنند. به این کار brute force می‌گویند. یا حتی ممکن است در مکان‌های مختلفی از یک رمز استفاده کنید٬ که بعضی از آن‌ها نا امن باشند!

اتصال به سرور بدون رمز

با توجه به موارد ذکر شده، مجموعه‌هایی که داده‌های حساس دارند، نیاز به یک روش بسیار ایمن برای احراز هویت خواهند داشت. راه پیشنهادی برای این مجموعه‌ها استفاده از روش اتصال ssh بدون رمز است.

رمز نگاری کلید عمومی/خصوصی یکی از امن‌ترین روش‌ها نسبت به بقیه است. این الگوریتم از دو کلید متفاوت تحت عنوان کلید عومی و کلید خصوصی برای رمزنگاری داده‌ها بین دو سیستم استفاده می‌کند. همانطور که از نام کلیدها مشخص است، کلید عمومی در اختیار همه قرار داده می‌شود. زمانی که فردی بخواهد داده‌ای برای ما ارسال کند با استفاده از کلید عمومی آن را رمزنگاری می‌نماید طوری که داده‌های رمز شده با همان کلید عمومی قابل رمزگشایی نیستند! سپس دیتای رمز شده را ارسال می‌کند. بعد از آن برای این که ما داده را رمزگشایی کنیم، باید از کلید خصوصی خود که روی کامپیوتر شخصی ذخیره شده و هیچ کس دیگری به آن دسترسی ندارد، استفاده کرده و به داده اصلی برسیم.

 

نحوه اتصال ssh‌ بدون رمز

روش استفاده از کلیدها در ssh هم به کار می‌رود. تا زمانی که کلید عمومی ما در ssh server کپی نشده باشد، نمی‌توان اتصال ssh برقرار کرد و درواقع این مزیت این روش است. با این روش خطر افشا شدن رمز تقریبا بی‌معنی می‌شود. حال سوال اینجاست که چطور باید کلید عمومی/خصوصی تولید و روی سرور کپی کرد؟

قدم اول درست کردن کلید با وارد کردن این عبارت است:

ssh-keygen -t rsa

سوییچ t- برای مشخص کردن الگوریتم رمزنگاری در ssh-keygen استفاده می‌شود. انواع رمزنگاری‌های موجود شامل: dsa, ecdsa, ecdsa-sk, ed25519 ed25519-sk, rsa. هستند.

با وارد کردن این دستور, در دایرکتوری یوزر شما(~/.ssh) دو فایل id_rsa و id_rsa.pub ایجاد خواهد شد. فایل اول کلید خصوصی شما و فایل دوم کلید عمومی شما است. یک نکته مهم این است که موقع ساختن این فایل‌ها، ssh از شما یک عبارت را به عنوان رمز سوال خواهد کرد. می‌توانید این مقدار را کاملا خالی رها کنید اما وجود این رمز باعث می‌شود که اگر کسی به سیستم شخصی شما دسترسی پیدا کرد، رمز لوکال مانع متصل شدن او به ssh server شما شود.
قدم دوم کپی کردن کلید عمومی به سرور است:
Scp –p id_rsa.pub remoteuser@remotehost

سوییچ -p برای حفظ کردن inode number استفاده می‌شود.

modification times, access times, and modes from the original file

 

در قدم بعدی باید کلید عمومی را در فایل ~/.ssh/authorized_keys اضافه کرد:

cat id_rsa.pub >> ~/.ssh/authorized_keys

 

بعد از این که محتوای فایل id_rsa.pub را کپی کردید، بهتر است که این فایل را حذف نمایید:

rm id_rsa.pub

 

و قدم آخر هم دادن مجوز هابه فایل‌های روی سرور است:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

در پایان نیز فقط کافی است که گزینه اعتبار سنجی با password را غیر فعال کنید.
همچنین پیشنهاد می‌کنیم تا مقاله اقدامات لازم در اولین اتصال به سرور لینوکسی را نیز مورد مطالعه قرار دهید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *