13 اردیبهشت 1400
برای اتصال به سرور با ssh نیاز به یک رمز عبور داریم. به دلایل مختلف امنیتی ممکن است استفاده همیشگی از این روش مناسب نباشد، از این رو روش اتصال ssh بدون رمز توصیه میشود. در ادامه تعدادی از این دلایل و روش اتصال ssh بدون رمز را بیان خواهیم کرد.
مزیت password این است که شما با هر سیستمی که باشید به راحتی میتوانید فقط با وارد کردن رمز خود shell گرفته و کار خود را انجام دهید اما رمزها مشکلات زیادی دارند که باعث میشود این مزیت اعتبار زیادی نداشته باشد؛ مثلا ممکن است قابل حدس باشند مانند “1234”. همچنین رمز میتواند کرک شود؛ در واقع هکرها با ابزارهایی در چند ثانیه هزاران رمز احتمالی را روی سرور شما امتحان میکنند. به این کار brute force میگویند. یا حتی ممکن است در مکانهای مختلفی از یک رمز استفاده کنید٬ که بعضی از آنها نا امن باشند!
با توجه به موارد ذکر شده، مجموعههایی که دادههای حساس دارند، نیاز به یک روش بسیار ایمن برای احراز هویت خواهند داشت. راه پیشنهادی برای این مجموعهها استفاده از روش اتصال ssh بدون رمز است.
رمز نگاری کلید عمومی/خصوصی یکی از امنترین روشها نسبت به بقیه است. این الگوریتم از دو کلید متفاوت تحت عنوان کلید عومی و کلید خصوصی برای رمزنگاری دادهها بین دو سیستم استفاده میکند. همانطور که از نام کلیدها مشخص است، کلید عمومی در اختیار همه قرار داده میشود. زمانی که فردی بخواهد دادهای برای ما ارسال کند با استفاده از کلید عمومی آن را رمزنگاری مینماید طوری که دادههای رمز شده با همان کلید عمومی قابل رمزگشایی نیستند! سپس دیتای رمز شده را ارسال میکند. بعد از آن برای این که ما داده را رمزگشایی کنیم، باید از کلید خصوصی خود که روی کامپیوتر شخصی ذخیره شده و هیچ کس دیگری به آن دسترسی ندارد، استفاده کرده و به داده اصلی برسیم.
روش استفاده از کلیدها در ssh هم به کار میرود. تا زمانی که کلید عمومی ما در ssh server کپی نشده باشد، نمیتوان اتصال ssh برقرار کرد و درواقع این مزیت این روش است. با این روش خطر افشا شدن رمز تقریبا بیمعنی میشود. حال سوال اینجاست که چطور باید کلید عمومی/خصوصی تولید و روی سرور کپی کرد؟
قدم اول درست کردن کلید با وارد کردن این عبارت است:
ssh-keygen -t rsa
سوییچ t- برای مشخص کردن الگوریتم رمزنگاری در ssh-keygen استفاده میشود. انواع رمزنگاریهای موجود شامل: dsa, ecdsa, ecdsa-sk, ed25519 ed25519-sk, rsa. هستند.
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
تمامی حقوق برای گیتی سرور محفوظ است.