اتصال به کامپیوترها از راه دور و کنترل آنها همواره یکی از مهمترین امورات مربوط به کامپیوترهای تحت شبکه است. در گذشته کامپیوترها به راحتی و از طریق پروتکلهای سادهای مانند پروتکل Telnet به هم متصل میشدند. در صورتی که در حال حاضر به دلیل حملات هکرها استفاده از این پروتکل برای ارتباط بین سیستمهای شبکه امن نیست. از این رو در حال حاضر از پروتکل جدیدی به نام SSH برای اتصال و ریموت کردن کامپیوترها استفاده میشود.
در واقع اس اس اچ یک پروتکل یک پروتکل امن برای ارتباط از راه دور با کامپیوتر است. کلید ssh در واقع همان کد امضای دیجیتال است که اتصالات و ارسال و دریافت دادهها بر اساس رمزگذاری میشوند تا با امنیت بالایی تبادل اطلاعات انجام شود. در ادامه این مقاله قصد داریم تا شما را با نحوه اتصال به SSH با کلیدهای Private key و Public key آشنا کنیم. پس با ما تا پایان این مقاله همراه باشید.
SSH یا پوسته امن چیست؟
Secure Shell که به آن پوسته امن نیز گفته میشود و در زبان انگلیسی چینین تعریف میشود: cryptographic network protocol for secure data communication, remote shell services or command execution and other secure network services between two networked computers یک پروتکل در اینترنت است که از آن برای تبادل امن اطلاعات بین دستگاههای متصل به یک شبکه از آن استفاده میشود. این پروتکل برای اتصال نیاز به مبادله کلیدهای رمزگذاری در ابتدای اتصال دارد. به طور کلی پروتکل SSH یک بسته نرم افزاری است که مدیریت سیستم و انتقال فایلها را از طریق شبکههای ناامن امکان پذیر میکند. تقریباً در هر مرکز داده و در هر شرکت بزرگی استفاده میشود.
کلید ssh چیست؟
برای اتصال به اس اس اچ نیاز است که در هر دو کامپیوتری که میخواهند از راه دور به هم متصل شوند نرم افزارهای خاصی نصب شود. برای اتصال بین دو سیستم این نرمافزارها از کلید اس اس اچ استفاده میکنند. کلید SSH در واقع یک روش احراز هویت است که به کاربران این اجازه را میدهد که به اتصالات رمزگذاری شده بین سیستمها دسترسی داشته باشند. در واقع Secure Shell برای برقراری ارتباط بین سیستمهای کامپیوتری از یک جفت کلید استفاده میکند. یکی از این کلیدها خصوصی (Private key ) و دیگری کلید عمومی (Public key) است. از این دو کلید برای رمزگذاری و رمزگشایی دادههای که بین دو سیستم منتقل میشوند استفاده میکنند. Public key مانند یک قفل عمل میکند که تنها با Private key باز میشود. عملکرد این دو کلید به این صورت است که دادهها به وسیله کلید عمومی رمزگذاری میشوند و به واسطه کلید خصوصی در مقصد رمزگشایی میشوند.
استفاده از کلیدهای اس اس اچ برای اتصال به سرور
برای وصل شدن به ssh ابتدا نیاز است کلیدهای اس اس اچ را ایجاد کنید. این کار بسیار آسان است و با انجام چند کار ساده میتوانید به راحتی کلیدهای اس اس اچ را ایجاد کنید. برای ایجاد کلید باید کد ssh-keygen در خط فرمان ترمینال سیستم خود وارد کنید. با این دستور میتوانید یک کلید اس اس اچ ایجاد و در محل مورد نظر خود ذخیره نمایید. در صورتی که محل ذخیرهسازی آنها را تغییر ندهید آنها به صورت پیش فرض در دایرکتوری ~/.ssh قرار میگیرند. پس از ایجاد کلید SSH، شما باید کلید عمومی خود را به سرور مورد نظرتان ارسال کنید. برای ارسال کلید عمومی کافی است که محتوای Public key را در فایل ~/.ssh/authorized_keys قرار دهید. معمولاً محتوای این کلید با پسوند pub . ذخیره میشوند. برای کپیکردن محتوای کلید عمومی در فایل authorized_keys میتوانید از دستور زیر استفاده کنید:
cat ~/.ssh/id_rsa.pub | ssh username@remote_server “mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys”
نکته مهم: در دستور بالا به جای id_rsa.pub نام فایل کلید عمومی خود را جایگزین کنید. به جای Username نیز باید نام کاربری اس اس اچ سرور خود را وارد نمایید. remote_server در دستور بالا آدرس آی پی سرور شما است و باید با آی پی سرور خود آن را جایگزین کنید. بعد از انجام این کارها برای اتصال به سرور با کلیدهای اس اس اچ باید از دستور زیر استفاده کنید:
ssh username@remote_server
همانطور که در بالا به آن شاره کردیم مقادیر را جایگزین کنید و بعد از اجرای این دستور باید درخواست رمز عبور SSH سرور مورد نظرتان را وارد نمایید. با انجام این مراحل با موفقیت میتوانید به سرور متصل شوید.
نحوه اتصال به SSH با کلیدهای Private key و Public key
قبل از اتصال به اس اس اچ باید به شما بگوییم که برای اتصال به پوسته امن اس اس اچ در لینوکس میتوانید از دو روش زیر استفاده کنید.
1- اتصال به SSH با پسورد
2- اتصال به SSH با کلیدهای Private key و Public key
در ادامه میخواهیم مراحل نحوه وصل شدن به ssh به کمک نرم افزار putty را آموزش دهیم.
مرحله اول
اولین قدم دانلود و نصب نرم افزار putty است. بعد از دانلود این نرم افزار باید آن را اجرا کنید.
مرحله دوم
بعد از واردشدن به محیط نرم افزار باید روی گزینه Generate کلیک کنید. بعد از شروع نیاز است که در کادر قرمز زیر شکلی را به صورت دلخواه با ماوس بکشید.
مرحله سوم
بعد از آن که در این کادر شکلی را کشیدید کدی مطابق زیر برای شما آماده میگردد.
مرحله چهارم
بعد از نمایش این کد نیاز است Private key و Public key را ذخیره نمایید. لازم به ذکر است که میتوانید از فیلد Key passphrase برای قرار دادن پسورد روی کلیدهایتان استفاده کنید. این فیلد اختیاری است و در صورت عدم تمایل میتوانید آن را خالی بگذارید.
مرحله پنجم
بعد ذخیره کلیدها لازم است که به سرور خود متصل شوید.
مرحله ششم
ابتدا لازم است که با دستور زیر یک دایرکتوری مخفی با نام ssh ایجاد کنید.
mkdir ~/.ssh
مرحله هفتم
دسترسی به دایرکتوری ایجاد شده را با دستور زیر تغییر دهید.
chmod 700 ~./ssh
مرحله هشتم
در دایرکتوری ایجاد شده باید فایل زیر را ایجاد کنید.
touch ~/.ssh/authorized_keys
مرحله نهم
باید دسترسی به فایل ایجاد شده را با دستور زیر تغییر دهید.
chmod 600 ~/.ssh/authorized_keys
مرحله دهم
به کمک یک ویرایشگر باید فایل زیر را باز کنید.
nano ~/.ssh/authorized_keys
مرحله یازدهم
در این مرحله باید محتوای فایل Public key را که با نرم افزار putty ایجاد کردید در این فایل کپی کنید و آن را ذخیره نمایید.
مرحله دوازدهم
فایل sshd_config را توسط یک ویرایشگر باز کنید.
nano /etc/ssh/sshd_config
مرحله سیزدهم
عبارت ServerkeyBits را پیدا کنید و علامت # را از ابتدای خط پاککرده و عدد 2048 را جلوی آن اضافه کنید.
مرحله چهاردهم
عبارات زیر را در فایل پیدا و به ترتیب مقادیر آن را تغییر دهید
RSAAuthenticaton yes
PubleyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_key
مرحله پانزدهم
عبارت زیر را در فایل sshd_config پیدا کرده و علامت # را از ابتدای خط پاککرده و در مقابل آن کلمه no را بنویسید.
مرحله شانزدهم
بعد از اعمال تغییرات بالا لازم است که سرویس اس اس اچ را دوباره راه اندازی کنید برای این کار از دستور زیر استفاده نمایید.
service ssh restart
مرحله هفدهم
لازم است که نرم افزار putty در سیستم خود اجرا و در آن یک پروفایل جدید ایجاد نمایید.
مرحله هجدهم
از نوار سمت راستروی گزینه SSH سپس روی گزینه Auth کلیک کنید.
مرحله نوزدهم
در این مرحله نیاز است که فایل Private key خود را که قبلاً ساختهاید وارد و روی گزینه open کلیک نمایید.
اگر مراحل گفته شده را به صورت صحیح انجام داده باشید با موفقیت میتوانید روی نام سرور خود کلیک و به بدون نیاز به پسورد به آن متصل شوید.
خلاصه
به طور کلی می توانیم بگوییم که در پروتکل اس اس اچ برای انتقال ایمن داده ها بین دو کامپیوتر از کلیدهای عمومی و خصوصی جهت رمزگذاری و رمزگشایی داده ها استفاده می شود. در این مقاله نحوه اتصال به اس اس اچ با کلیدهای Private key و Public key را آموزش دادیم.
سوالات متداول
کاربرد کلیدهای SSH چیست؟
این کلیدها دادههای که قرار است بین دو سیستم منتقل شوند را رمزنگاری میکنند و از این طریق امنیت دادههای داخل یک شبکه را فراهم میکنند.
کلید SSH چیست و چگونه کار میکند؟
برای دسترسی به سرورها از راه دور از کلید اس اس اچ استفاده میشود. در واقع کلید SSH یک جفت کلید Private key و Public key است. کلیدهای عمومی در سرور نگهداری میشوند و مانند یک قفل عمل میکنند. در صورتی که کلیدهای خصوصی مانند کلید هستند و این کلیدها نزد کاربران نگهداری میشوند. کاربران با کلید خصوصی میتوانند پیام ارسال شده از طریق سرور را رمزگشایی کنند و به این ترتیب اتصال به سرور از راه دور به صورت امن انجام میشود.
برای اتصال به سرویس SSH لینوکس چند روش وجود دارد؟
برای وصل شدن به ssh میتوانید از دو روش اتصال به SSH با پسورد و اتصال به SSH با کلیدهای Private key و Public key استفاده کنید.
پوسته امن یا ssh چه کاربردی دارد؟
پوسته امن در واقع یک پروتکل اینترنت است که برای خدمات پوسته از راه دور یا اجرای فرمان و سایر خدمات شبکه ایمن بین دو کامپیوتر شبکه ای مورد استفاده قرار می گیرد.

null