برای اتصال به سرور با ssh نیاز به یک رمز عبور داریم. به دلایل مختلف امنیتی ممکن است استفاده همیشگی از این روش مناسب نباشد، از این رو روش اتصال ssh بدون رمز توصیه میشود. در ادامه تعدادی از این دلایل و روش اتصال ssh بدون رمز را بیان خواهیم کرد.
مزایا و معایب داشتن رمز عبور
مزیت password این است که شما با هر سیستمی که باشید به راحتی میتوانید فقط با وارد کردن رمز خود shell گرفته و کار خود را انجام دهید اما رمزها مشکلات زیادی دارند که باعث میشود این مزیت اعتبار زیادی نداشته باشد؛ مثلا ممکن است قابل حدس باشند مانند “1234”. همچنین رمز میتواند کرک شود؛ در واقع هکرها با ابزارهایی در چند ثانیه هزاران رمز احتمالی را روی سرور شما امتحان میکنند. به این کار brute force میگویند. یا حتی ممکن است در مکانهای مختلفی از یک رمز استفاده کنید٬ که بعضی از آنها نا امن باشند!
اتصال به سرور بدون رمز
با توجه به موارد ذکر شده، مجموعههایی که دادههای حساس دارند، نیاز به یک روش بسیار ایمن برای احراز هویت خواهند داشت. راه پیشنهادی برای این مجموعهها استفاده از روش اتصال ssh بدون رمز است.
رمز نگاری کلید عمومی/خصوصی یکی از امنترین روشها نسبت به بقیه است. این الگوریتم از دو کلید متفاوت تحت عنوان کلید عومی و کلید خصوصی برای رمزنگاری دادهها بین دو سیستم استفاده میکند. همانطور که از نام کلیدها مشخص است، کلید عمومی در اختیار همه قرار داده میشود. زمانی که فردی بخواهد دادهای برای ما ارسال کند با استفاده از کلید عمومی آن را رمزنگاری مینماید طوری که دادههای رمز شده با همان کلید عمومی قابل رمزگشایی نیستند! سپس دیتای رمز شده را ارسال میکند. بعد از آن برای این که ما داده را رمزگشایی کنیم، باید از کلید خصوصی خود که روی کامپیوتر شخصی ذخیره شده و هیچ کس دیگری به آن دسترسی ندارد، استفاده کرده و به داده اصلی برسیم.
نحوه اتصال ssh بدون رمز
روش استفاده از کلیدها در ssh هم به کار میرود. تا زمانی که کلید عمومی ما در ssh server کپی نشده باشد، نمیتوان اتصال ssh برقرار کرد و درواقع این مزیت این روش است. با این روش خطر افشا شدن رمز تقریبا بیمعنی میشود. حال سوال اینجاست که چطور باید کلید عمومی/خصوصی تولید و روی سرور کپی کرد؟
قدم اول درست کردن کلید با وارد کردن این عبارت است:
|
1 |
ssh-keygen -t rsa |
سوییچ t- برای مشخص کردن الگوریتم رمزنگاری در ssh-keygen استفاده میشود. انواع رمزنگاریهای موجود شامل: dsa, ecdsa, ecdsa-sk, ed25519 ed25519-sk, rsa. هستند.
|
1 |
Scp –p id_rsa.pub remoteuser@remotehost |
سوییچ -p برای حفظ کردن inode number استفاده میشود.
modification times, access times, and modes from the original file
در قدم بعدی باید کلید عمومی را در فایل ~/.ssh/authorized_keys اضافه کرد:
|
1 |
cat id_rsa.pub >> ~/.ssh/authorized_keys |
بعد از این که محتوای فایل id_rsa.pub را کپی کردید، بهتر است که این فایل را حذف نمایید:
|
1 |
rm id_rsa.pub |
و قدم آخر هم دادن مجوز هابه فایلهای روی سرور است:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys