پروتکل ssh چیست ؟ با کاربردها و قابلیتهای ssh آشنا شوید
پروتکل ssh چیست ؟ SSH که با نام Secure Shell یا Secure Socket Shell نیز شناخته میشود، در زبان فارسی با نام پوستهی امن شناخته میشود. بهطورکلی، ssh یک پروتکل شبکه است که راهی قابل اطمینان جهت دسترسی به رایانه از طریق یک شبکه ناامن را در اختیار کاربران، به ویژه مدیران سیستم، قرار میدهد.
SSH علاوه بر ارائه خدمات امن شبکه، به مجموعه ابزارهایی که پروتکل SSH را پیاده سازی میکنند، اشاره مینماید. Secure Shell احراز هویت رمز عبور قوی، احراز هویت کلید عمومی و همچنین ارتباطات رمزگذاری شده دادهها میان دو کامپیوتر را که از طریق یک شبکه باز، مانند اینترنت متصل میشوند، ارائه میدهد.
علاوه بر ارائه رمزگذاری قوی، SSH به طور گسترده توسط مدیران شبکه برای مدیریت سیستمها و برنامهها از راه دور مورد استفاده قرار میگیرد. همچنین، به آنها امکان میدهد، از طریق یک شبکه به کامپیوتر دیگری وارد شده، دستورات را اجرا کرده و فایلها را از کامپیوتری به کامپیوتر دیگر منتقل کنند.
ssh مخفف چیست ؟
SSH که مخفف عبارت Secure Socket Shell است، هم به پروتکل شبکه رمزنگاری و هم به مجموعه ابزارهایی که آن پروتکل را پیاده سازی مینماید، اشاره میکند. SSH از مدل اتصال سرور سرویس گیرنده ( client-server model) استفاده کرده و یک برنامه سرویس گیرنده Secure Shell را در جایی که کاربر در آن کار میکند، با یک سرور SSH که انتهای محل اجرای session است، متصل میکند.
پیادهسازیهای SSH اغلب شامل پشتیبانی از پروتکل های برنامهای است که برای شبیهسازی ترمینال یا انتقال فایل استفاده میشود. SSH همچنین میتواند برای ایجاد تونلهای امن برای سایر پروتکل های برنامه استفاده شود. به عنوان مثال، میتواند برای اجرای ایمن جلسات گرافیکی X Window System از راه دور استفاده شود. یک سرور SSH به طور پیش فرض به پورت استاندارد Transmission Control Protocol (TCP) 22 گوش میدهد.
روش کار پروتکل ssh در شبکه چیست ؟
Secure Shell برای جایگزینی برنامههای ناامن شبیه سازی شده انتهایی یا برنامههای ورود به سیستم مانند Telnet ،rlogin (remote login) و rsh (remote shell) ایجاد شد. SSH عملکردهای مشابهی (مانند ورود به سیستم و اجرای session های انتهایی در سیستمهای ریموت) را فعال میکند. همچنین SSH میتواند جایگزین برنامههای انتقال فایل مانند پروتکل انتقال فایل (FTP) و rcp (ریموت کپی) شود.
مهمترین کاربرد SSH اتصال به ریموتهاست برای یک جلسه انتهایی یا terminal session است. آن کامند یا دستور به شکل زیر است:
ssh UserName@SSHserver.example.com
این دستور باعث میشود، کلاینت (ssh client) سعی کند با استفاده از شناسه کاربری ID UserName. به یک سرور با نام server.example.com متصل شود. اگر این اولین بار است که در مورد ارتباط بین میزبان محلی و سرور مذاکره میشود، با وجود نبود اتصال قبلی، از کاربر خواسته میشود که با اثر انگشت کلید عمومی میزبان ریموت متصل شود:
The authenticity of host 'sample.ssh.com' cannot be established. DSA key fingerprint is 01:23:45:67:89:ab:cd:ef:ff:fe:dc:ba:98:76:54:32:10. Are you sure you want to continue connecting (yes/no)?
پاسخ بله دادن به درخواست باعث میشود session ادامه یافته و کلید میزبان در فایل هاستهای شناخته شده سیستم محلی (local system’s known_hosts file) ذخیره شود. این یک فایل پنهان است که به طور پیش فرض در یک دایرکتوری پنهان، به نام /.ssh/known_hosts، در دایرکتوری خانگی کاربر ذخیره شده است.
هنگامی که کلید میزبان در فایل هاستهای شناخته شده ذخیره شد، سیستم کلاینت میتواند بدون نیاز به تأیید، مجدداً به صورت مستقیم به آن سرور متصل شود. کلید میزبان اتصال را تأیید میکند.
موارد استفاده از پروتکل ssh چیست ؟
SSH همانطور که در تمام مراکز داده ارائه میشود، به طور پیش فرض در هر سرور Unix ، Linux و Mac نیز ارائه میشود. اتصالات SSH همواره برای تامین بسیاری از انواع مختلف ارتباطات بین یک دستگاه محلی و میزبان ریموت، از جمله دسترسی امن ریموت به منابع، اجرای ریموت دستورات، تحویل software patches و بروزرسانیها و سایر وظایف مدیریتی استفاده شده است.
علاوه بر ایجاد یک کانال امن، میان رایانههای محلی و ریموت، SSH برای مدیریت روترها، سخت افزار سرور ، پلتفرمهای مجازی سازی، سیستم عامل ها (OS)، مدیریت داخلی سیستمها و برنامههای انتقال فایلها استفاده میشود.
Secure Shell برای اتصال به سرور ها، ایجاد تغییرات، انجام آپلودها و خروج، با استفاده از ابزارها یا به طور مستقیم از طریق ترمینال، استفاده میشود. کلیدهای SSH را میتوان برای خودکار کردن دسترسی به سرور ها استفاده کرد. همچنین اغلب در اسکریپتها، سیستمهای بکاپ و ابزارهای مدیریت پیکربندی استفاده میشوند.
SSH ها طراحی شدهاند تا به راحتی مورد استفاده قرار گیرند. همچنین بتوانند در سراسر مرزهای سازمانی کار کنند. در همین راستا، کلیدهای SSH، single sign-on (SSO) (SSO) فراهم شدهاند تا کاربران بتوانند بدون این که نیاز باشد که هر بار رمز عبور خود را تایپ کنند، بین حسابهای خود جابهجا شوند.
نقش و کاربرد اساسی محیط ssh چیست ؟
در حالی که SSH نقش مهمی در مدیریت تشخیص هویت و مدیریت دسترسی دارد، میتواند کارهای دیگری علاوه بر تایید روی یک اتصال رمزگذاری شده را انجام دهد. تمام ترافیک SSH رمزگذاری شده است؛ خواه کاربران درحال انتقال یک فایل باشند، در بروزر وب گردی کنند و یا درحال اجرای یک کامند باشند؛ همه اقدامات آنها خصوصی و محرمانه خواهد بود.
در حالی که امکان استفاده از SSH با شناسه کاربری معمولی و رمز عبور به عنوان اعتباردهنده وجود دارد، SSH اغلب به جفتهای کلیدی عمومی به منظور تأیید هویت میزبانان برای یکدیگر متکی است. کاربران فردی باید شناسه کاربر و رمز عبور خود (یا سایر روش های احراز هویت) را برای اتصال به میزبان از راه دور بهکار گیرند، اما دستگاه محلی و دستگاه از ریموت به طور جداگانه به یکدیگر اعتبار می دهند.
این کار با تولید یک جفت کلید عمومی منحصر به فرد برای هر میزبان در ارتباطات انجام میشود. یک session تنها به دو جفت کلید عمومی نیاز دارد: یک جفت کلید عمومی برای تأیید هویت دستگاه ریموت به دستگاه محلی و دومین جفت کلید عمومی برای تأیید هویت دستگاه محلی به دستگاه ریموت.
قابلیتهای پروتکل SSH چیست ؟
عملکردهایی که SSH انجام آنها را ممکن میسازد، عبارتند از:
- دسترسی امن ریموت به سیستمهای شبکه فعال شده توسط SSH یا دستگاههای کاربران. همچنین فرآیندهای خودکار.
- Sessionهای انتقال فایل امن و تعاملی.
- انتقالات فایلهای خودکار و امن.
- صدور مطمئن دستورات در دستگاههای از ریموت یا سیستمها.
- مدیریت امن اجزای زیرساخت شبکه.
SSH را میتوان به طور تعاملی برای فعال کردن terminal sessionها و به جای برنامهی Telnet که از امنیت کمتری برخوردار است، مورد استفاده قرار داد. علاوه بر اینها، SSH معمولا در اسکریپتها و سایر نرم افزار ها به منظور فعال ساختن برنامهها و سیستمها برای دسترسی ریموت و ایمن به دادهها و دیگر منابع استفاده میشود.
تاریخچه SSH چیست ؟
اولین نسخه SSH در سال 1995 پدید آمد و توسط Tatu Ylönen طراحی شد. در آن زمان یک محقق در دانشگاه هلسینکی (Helsinki) بود و سپس به این تلاش ادامه داد تا SSH Communications Security، یک فروشنده امنیت سایبری مستقر در فنلاند را راهاندازی کرد. با گذشت زمان، نقصهای مختلفی در SSH-1 یافت شد، و این نسخه در حال حاضر منسوخ شده و برای استفاده امن نیست.
SSH-2، نسخه فعلی پروتکل های Secure Shell ، به عنوان یک مشخصه Standards Track توسط Engineering Task Force (IETF) در سال 2006 به تصویب رسید. SSH-2 با SSH-1 سازگار نیست و از Diffie-Hellman key exchange یا مبادله کلیدی دیفی-هلمن و یک بررسی یکپارچگی قویتر که از کدهای احراز هویت پیامی برای بهبود امنیت استفاده میکند. کلاینتهای SSH و سرور ها میتوانند از تعدادی از روشهای رمزنگاری ، که اغلب به طور گستردهای مورد استفاده قرار میگیرند، مانند Advanced Encryption Standard (AES) و Blowfish استفاده کنند.
تاکنون در SSH-2 آسیب پذیری شناخته شدهای استخراج نشده است. هرچند اطلاعاتی که توسط ادوارد اسنودن Edward Snowden در سال 2013 منتشر شد، اظهار کرد که آژانس امنیت ملی آمریکا (NSA) ممکن است بتواند برخی از ترافیکهای SSH را رمزگشایی کند. امیدواریم که تا این مرحله محتوای پروتکل ssh چیست پاسخگوی سوالات شما بوده باشد.
مسائل امنیتی Secure Shell
شرکتهایی که از SSH استفاده میکنند، باید پیدا کردن راههای مدیریت کلیدهای میزبان ذخیره شده در سیستمهای مشتریان را در نظر داشته باشند؛ این کلیدها میتوانند در طول زمان، به ویژه برای کارکنان فناوری اطلاعات (IT) که باید قادر به دسترسی به هاستهای ریموت برای اهداف مدیریتی باشند، اندوخته شوند.
از آنجا که دادههای ذخیره شده در فایل SSH known_hosts میتوانند برای دسترسی ایمن به سیستمهای ریموت استفاده شوند، سازمانها باید از وجود این فایلها آگاه بوده و یک فرایند استاندارد برای حفظ کنترل بر روی فایلها داشته باشند. حتی پس از آن که سیستم از کامیژن خارج شود یا ماموریت خود را به اتمام برساند.
توسعهدهندگان نیز باید هنگام استفاده از دستورات SSH یا توابع در یک اسکریپت یا سایر برنامهها مراقب باشند؛ در حالیکه ممکن است، دستور SSH را صادر کنید. در حالی که امکان صدور یک فرمان SSH که شامل شناسه کاربری و رمز عبور است، برای احراز هویت کاربر دستگاه محلی به یک اکانت در هاست ریموت وجود دارد. انجام این کار ممکن است اعتبار را با دسترسی به کد منبع در اختیار یک مهاجم قرار دهد.
آیا میدانستید که با تغییر پورت SSH، میتوانید به راحتی امنیت سرور خود را افزایش دهید؟ آیا با انجام روش این کار آشنایی دارید؟ اگر متوجه اهمیت انجام این کار شدهاید،پیشنهاد میکنیم مقالهی تغییر پورت ssh را مطالعه نمایید.
نحوهی اتصال به ssh سرور چیست ؟
در سیستم عامل ویندوز ، نمیتوانید به طور مستقیم به SSH متصل شوید. برای اتصال به این پروتکل ، به یک برنامهی واسط به نام PuTTY احتیاج خواهید داشت. (این برنامه اپنسورس است و میتوانید به رایگان آن را دانلود کنید) پس از دانلود و نصب این نرم افزار با وارد کردن آدرس IP و پورت SSH (که به صورت پیشفرض پورت شمارهی 22 است)، میتوانید به این پروتکل در سرور متصل شوید.
در سیستم عامل های لینوکس و مک میتوانید به راحتی و بدون نیاز به نرم افزار جانبی، تنها از طریق محیط ترمینال به SSH در یک سرور متصل شوید، برای این منظور کافیست Terminal را باز کرده و دستورات زیر را در آن وارد کنید:
ssh root@serverip –p port
در دستور بالا میتوانید بهجای root نامکاربری خود در سرور و به جای serverip و port نیز به ترتیب آدرس سرور و شمارهی پورت SSH را وارد کنید. در محیط اندروید نیز با استفاده از نرم افزاری به نام ConnectBot میتوانید به پروتکل SSH در یک سرور از راه دور متصل شوید.
نحوهی فعالسازی ssh در لینوکس چیست ؟
در لینوکس به طور پیشفرض root برای SSH کردن غیرفعال است. برای فعال کردن آن ابتدا به مسیر زیر رفته و فایل را در حالت ویرایش باز کنید.
# apt-get update # apt-get install ssh systemctl enable ssh vi /etc/ssh/sshd_config
حال به دنبال خط زیر بگردید و این خط را مثل نمونه زیر کنید و # را بردارید.
شکل پیشفرض :
#PermitRootLogin prohibit-password
شکلی که باید تغییر کند:
PermitRootLogin yes
و حال سرویس SSH را ری استارت کنید
service ssh restart
در نهایت کافیست تا با استفاده از نرم افزار Putty به لینوکس خود SSH بزنیم !
چرا ابرآراز؟
با خرید هاست لینوکس حرفه ای و پرسرعت ابر آراز که با بهترین منابع سخت افزاری و نرم افزاری همچون هارد پرسرعت NVMe، CDN و… در اختیار شما قرار میگیرد، از کارایی و عملکرد بالایی در میزبانی خود برخوردار خواهید شد و با انواع تجهیزات امنیتی و فایروال که به صورت رایگان به شما ارائه میگردد، امنیت سایت خود را در برابر حملات احتمالی تضمین میکنید؛ همچنین ناگفته نماند که با خرید هاست ابری لینوکس امکان استفاده از بانک اطلاعاتی MYSQL با کارایی کامل و سرعت فوق العاده برای شما فراهم میگردد.