SSH یک پروتکل شبکه رمزنگاری برای اتصال ایمن به سرور و دسترسی به منابع آن است. این یک راه امن برای ورود به سیستم و اجرای دستورات در یک ماشین راه دور فراهم می کند. در این مقاله از ایوسی، راهنمای جامعی برای توسعه دهندگان در مورد نحوه شروع استفاده از SSH ارائه خواهیم داد.
تعریف کامل SSH
پروتکل Secure Shell (SSH) یک پروتکل شبکه مشخص است که برای ارتباط امن بین دو دستگاه (مانند کامپیوترها، سرورها و دیگر دستگاهها) استفاده میشود. SSH امکان اتصال به دستگاههای دیگر از راه دور، انتقال دادهها و اجرای دستورات را به صورت امن فراهم میکند.
از SSH برای ارتباط امن بین دو دستگاه از طریق رمزنگاری اطلاعات استفاده میشود، به طوری که اطلاعات ارسالی از یک دستگاه به دیگری به صورت رمز شده بر روی شبکه منتقل میشود و تنها دستگاه مقصد میتواند آن را رمزگشایی کند. این امر اطمینان میدهد که اطلاعات حساس و مهمی که بین دو دستگاه انتقال مییابد محافظت شده و امن است.
همچنین، SSH امکان مدیریت دستگاهها از راه دور را نیز فراهم میکند، از جمله اجرای دستورات، ارسال و دریافت فایلها و مدیریت کاربران. به طور کلی، استفاده از SSH برای ارتباط در شبکههای کامپیوتری عموماً به منظور بهبود امنیت ارتباطات استفاده میشود.
کاربرد و فواید SSH
SSH یک پروتکل امن برای اتصال به دستگاهها و انتقال داده در شبکههای کامپیوتری است. استفاده از SSH به کاربران این امکان را میدهد که اتصالات خود را از نقاط مختلفی از شبکه اینترنت برقرار کرده و دادههای خود را به صورت امن منتقل کنند.
بهعنوان یکی از ابزارهای امنیتی مهم، SSH دارای برخی فواید و کاربردها مهم است که شامل موارد زیر میشوند:
- اتصال امن: SSH ارتباطات رمزنگاری شده را بین دستگاهها فراهم میکند، از این رو خطر هک شدن و دسترسی غیرمجاز به دادهها کاهش مییابد.
- انتقال دادههای حساس: با استفاده از SSH، میتوان دادههای حساس و مهم را به صورت امن و رمزنگاری شده انتقال داد.
- اتصال به دستگاههای دور: SSH به کاربران این امکان را میدهد که به دستگاههای دور و راه دور از طریق شبکه اینترنت به صورت امن و ایمن متصل شوند.
- مدیریت نرمافزارها: شبکههای کامپیوتری برای ارتباطات مدیریتی بین سرورها و دستگاهها نیاز به ابزاری مانند SSH داشته باشند تا بتوان به صورت امن دادهها را منتقل کرد و نرمافزارها را مدیریت کرد.
- ایمنی اطلاعات: با استفاده از SSH، اطلاعات حساس و مهم از دسترسی غیرمجاز محافظت میشوند و امنیت دادهها تضمین میشود.
از اینرو، استفاده از Secure Shell (SSH) به عنوان یک پروتکل امن برای اتصال به دستگاهها و انتقال داده در شبکههای کامپیوتری امری حیاتی و ضروری است که برای حفظ امنیت دادهها و ارتباطات در تمام دنیا بکار میرود.
مرحله ۱: SSH Client را نصب کنید
اولین گام در استفاده از SSH این است که یک کلاینت SSH را روی دستگاه محلی خود نصب کنید. اکثر سیستم عامل های مبتنی بر یونیکس دارای یک کلاینت SSH از پیش نصب شده هستند. برای کاربران ویندوز، کلاینت های محبوب SSH مانند PuTTY و OpenSSH برای دانلود در دسترس هستند. هنگامی که یک کلاینت SSH را نصب کردید، می توانید به مرحله بعدی بروید.
- برای نصب PuTTY در ویندوز، می توانید نصب کننده را از وب سایت رسمی به آدرس https://www.putty.org/ دانلود کنید. به سادگی نصب کننده را دانلود کنید، آن را اجرا کنید و دستورالعمل های روی صفحه را دنبال کنید تا مراحل نصب کامل شود.
- برای نصب OpenSSH در ویندوز، می توانید از ویژگی Windows Subsystem for Linux (WSL) استفاده کنید. این ویژگی به شما امکان می دهد یک توزیع لینوکس را در کنار نصب ویندوز خود اجرا کنید. سپس می توانید از کلاینت اصلی OpenSSH موجود در توزیع لینوکس استفاده کنید.
- برای کاربران macOS، کلاینت SSH از قبل نصب شده است. میتوانید با تایپ «ssh» و سپس آدرس IP یا نام میزبان سرور راه دوری که میخواهید به آن متصل شوید، از طریق ترمینال به آن دسترسی داشته باشید.
- برای کاربران لینوکس، کلاینت SSH نیز از قبل نصب شده است. میتوانید با تایپ «ssh» و سپس آدرس IP یا نام میزبان سرور راه دوری که میخواهید به آن متصل شوید، از طریق ترمینال به آن دسترسی داشته باشید.
- هنگامی که یک کلاینت SSH را روی دستگاه محلی خود نصب کردید، می توانید با استفاده از SSH به طور ایمن به سرورهای راه دور متصل شوید. به یاد داشته باشید که همیشه از رمزهای عبور قوی استفاده کنید و کلاینت SSH خود را به روز نگه دارید تا هنگام استفاده از SSH از امنیت اطمینان حاصل کنید.
مرحله ۲: ایجاد جفت کلید SSH
برای اتصال ایمن به سرور با استفاده از SSH، باید یک جفت کلید SSH ایجاد کنید. این شامل یک کلید عمومی (که در اختیار سرور قرار می دهید) و یک کلید خصوصی (که در دستگاه محلی خود نگه می دارید) است. از دستور زیر برای ایجاد یک جفت کلید SSH استفاده کنید:
ssh-keygen -t rsa -b 4096
برای ایجاد جفت کلید از دستورات پیروی کنید و آن را در مکان پیش فرض ذخیره کنید (~/.ssh/id_rsa
). مطمئن شوید که از کلید خصوصی خود با یک عبارت عبور قوی محافظت می کنید.
هنگامی که جفت کلید SSH خود را ایجاد کردید، می توانید بسته به تنظیمات سرور، کلید عمومی را در اختیار مدیر سرور قرار دهید یا آن را در تنظیمات حساب کاربری خود قرار دهید. این به شما این امکان را می دهد که هنگام اتصال به سرور با استفاده از SSH به طور ایمن خود را احراز هویت کنید.
مرحله ۳: افزودن کلید عمومی به سرور
در مرحله بعد، باید کلید عمومی خود را به سروری که می خواهید به آن متصل شوید اضافه کنید. با استفاده از نام کاربری و رمز عبور خود وارد سرور شوید، سپس محتویات فایل کلید عمومی خود (~/.ssh/id_rsa.pub
) را به فایل authorized_keys
اضافه کنید. دایرکتوری ~/.ssh
سرور.
مرحله ۴: به سرور متصل شوید
هنگامی که کلید عمومی خود را به سرور اضافه کردید، اکنون می توانید به طور ایمن با استفاده از SSH به آن متصل شوید. برای اتصال به سرور از دستورات زیر استفاده کنید:
۱. وارد سرور شوید:
ssh username@server_ip
username
را با نام کاربری خود و server_ip
را با آدرس IP سرور جایگزین کنید.
۲. به دایرکتوری .ssh
در سرور بروید:
cd ~/.ssh
۳. فایل authorized_keys
را در یک ویرایشگر متن، مانند vim
یا nano
باز کنید:
vim authorized_keys
۴. به دستگاه محلی خود برگردید و محتویات فایل کلید عمومی خود را کپی کنید:
cat ~/.ssh/id_rsa.pub
۵. خروجی دستور را کپی کرده و در انتهای فایل authorized_keys
روی سرور قرار دهید.
۶. فایل را در ویرایشگر متن ذخیره کرده و ببندید. اکنون در صورت تمایل می توانید از سرور خارج شوید:
exit
کلید عمومی شما اکنون به فایل authorized_keys
سرور اضافه شده است و به شما امکان می دهد با استفاده از احراز هویت کلید SSH به سرور متصل شوید.
مرحله ۵: پیکربندی امن SSH
برای امنیت بیشتر اتصال SSH خود، می توانید فایل پیکربندی SSH (/etc/ssh/sshd_config
) را در سرور تغییر دهید. ورود root، احراز هویت رمز عبور را غیرفعال کنید و پورت SSH پیش فرض را به یک پورت غیر استاندارد تغییر دهید. برای اعمال تغییرات، سرویس SSH را مجدداً راه اندازی کنید.
توجه: اگر برای اولین بار به سرور متصل می شوید، ممکن است از شما خواسته شود که اثر انگشت سرور را قبل از اتصال تأیید کنید. برای اطمینان از اتصال شما به سرور صحیح، حتما اثر انگشت را تأیید کنید.
مرحله ۶: ویژگی های اضافی SSH
SSH انواع ویژگیها و عملکردهای اضافی را ارائه میکند که میتواند تجربه مدیریت سرور از راه دور شما را بهبود بخشد. برخی از ویژگی های رایج عبارتند از انتقال پورت، انتقال فایل با استفاده از SCP یا SFTP، و ارسال عامل SSH. این ویژگی ها را کاوش کنید و یاد بگیرید که چگونه از آنها برای استفاده حداکثری از اتصال SSH خود استفاده کنید.
با دنبال کردن این مراحل و آشنایی با SSH، می توانید به راحتی به سرورهای راه دور دسترسی داشته باشید و آن را مدیریت کنید. SSH یک ابزار قدرتمند برای توسعه دهندگان و مدیران سیستم است که راهی امن و راحت برای تعامل با ماشین های راه دور ارائه می دهد.
در اینجا مراحل ایمن سازی پیکربندی SSH شما آمده است:
۱. فایل پیکربندی SSH را با یک ویرایشگر متن باز کنید:
sudo nano /etc/ssh/sshd_config
۲. خطوط زیر را در فایل پیدا کنید و آنها را مطابق شکل زیر تغییر دهید:
PermitRootLogin no PasswordAuthentication no Port <new_port_number>
۳. فایل را ذخیره کرده و از ویرایشگر متن خارج شوید.
۴. برای اعمال تغییرات، سرویس SSH را مجددا راه اندازی کنید:
sudo systemctl restart sshd
با غیرفعال کردن ورود به سیستم ریشه و احراز هویت رمز عبور، یک لایه امنیتی اضافی به اتصال SSH خود اضافه می کنید. تغییر پورت SSH پیشفرض به درگاه غیر استاندارد نیز به کاهش خطر حملات خودکار که پورت پیشفرض را هدف قرار میدهند، کمک میکند (۲۲). حتما شماره پورت جدید را برای اتصالات SSH آینده به خاطر بسپارید.
نتیجه گیری
استفاده از SSH یک مهارت ضروری برای توسعه دهندگانی است که نیاز به اتصال ایمن به سرورهای راه دور و اجرای دستورات دارند. با دنبال کردن مراحل ذکر شده در این راهنما، میتوانید SSH را در دستگاه محلی خود راهاندازی کنید و بدون نیاز به هر بار وارد کردن رمز عبور، به طور ایمن به سرور متصل شوید. به یاد داشته باشید که همیشه کلید خصوصی خود را ایمن و ایمن نگه دارید و به طور منظم پیکربندی SSH خود را برای افزایش امنیت اتصالات خود به روز کنید.
با SSH، میتوانید با اطمینان خاطر روی سرورهای راه دور کار کنید و بدانید که ارتباطات شما رمزگذاری شده و محافظت میشود. تسلط بر SSH دنیایی از امکانات را برای توسعه از راه دور و مدیریت سرور باز می کند و به شما این امکان را می دهد که به طور موثر و ایمن با منابع سرور خود کار کنید.
و بخواید: