SSH (Secure Shell) یک پروتکل شبکه ای است که ارتباط امن بین دو دستگاه را امکان پذیر می کند و اغلب برای دسترسی به سرورهای راه دور و همچنین برای انتقال فایل ها یا اجرای دستورات استفاده می شود.
SSH در ابتدا توسط Tatu Ylonen در سال 1995 برای جایگزینی Telnet، پروتکل شبکه ای که به کاربران اجازه می داد به رایانه های راه دور متصل شوند، اغلب برای آزمایش اتصال یا مدیریت از راه دور یک سرور، توسعه یافت. این امر ضروری بود زیرا Telnet به هیچ وجه ایمن یا رمزگذاری نشده بود.
امروزه SSH به استاندارد دسترسی از راه دور برای بسیاری از سازمان ها تبدیل شده است و توسط مدیران سیستم برای مدیریت سرورها از راه دور یا اتصال ایمن به رایانه های شخصی خود استفاده می شود. SSH همچنین معمولاً برای تونل کردن ترافیک از طریق شبکه های غیرقابل اعتماد، مانند هات اسپات های عمومی وای فای، استفاده می شود.
دسترسی SSH برای چه مواردی استفاده می شود؟
دسترسی SSH برای کارهای مختلفی از جمله ورود از راه دور به سرورها، انتقال فایل ها و اجرای دستورات استفاده می شود. برخی از مشتریان محبوب SSH عبارتند از PuTTY (ویندوز)، ترمینال (مک) و لینوکس شل.
SSH یک ابزار قدرتمند است که می تواند برای کارهای مختلف استفاده شود. با این حال، توجه به این نکته مهم است که SSH برای استفاده به عنوان یک پروتکل انتقال فایل همه منظوره در نظر گرفته نشده است. اگر به دنبال انتقال فایل بین دو کامپیوتر هستید، باید از ابزاری مانند SFTP استفاده کنید.
دسترسی به SSH
برای دسترسی به SSH، باید یک حساب کاربری در میزبانی وب خود داشته باشید (در برگه جدید باز می شود) سرور هنگامی که یک حساب کاربری دارید، می توانید یک جفت کلید SSH ایجاد کنید. کلید عمومی به فایل authorized_keys سرور اضافه می شود و کلید خصوصی در دستگاه محلی شما نگهداری می شود. هنگامی که جفت کلید ایجاد شد، می توانید از یک کلاینت SSH برای اتصال به سرور استفاده کنید.
کلاینت های SSH مختلفی در دسترس هستند، اما توصیه می کنیم از PuTTY برای کاربران ویندوز و ترمینال برای کاربران مک استفاده کنید. اگر از لینوکس استفاده می کنید، باید قبلاً یک برنامه ترمینال نصب کرده باشید.
هنگامی که کلاینت SSH انتخابی خود را راه اندازی کردید، نام میزبان یا آدرس IP سرور را در تنظیمات اتصال وارد کنید.
مطمئن شوید که “SSH” را به عنوان نوع اتصال انتخاب کرده و سپس نام کاربری خود را وارد کنید. هنگامی که تمام اطلاعات لازم را وارد کردید، می توانید روی “اتصال” کلیک کنید تا به سرور متصل شوید.
اگر همه چیز به درستی وارد شده باشد، باید پیامی را مشاهده کنید که رمز عبور شما را می خواهد. رمز عبور خود را وارد کرده و “Enter” را بزنید. اگر با موفقیت وصل شدید، باید یک خط فرمان برای سرور ببینید.
از اینجا، می توانید هر دستوری را که به طور معمول روی سرور اجرا می کنید، اجرا کنید. برای قطع ارتباط از سرور، کافیست در خط فرمان “exit” را تایپ کرده و “Enter” را بزنید.
PuTTY برای مک (از طریق Homebrew) و لینوکس (از طریق مرکز نرم افزار اوبونتو) نیز در دسترس است.
رمزگذاری SSH چگونه کار می کند؟
رمزگذاری SSH فرآیندی است که از الگوریتم های ریاضی برای رمزگذاری داده ها استفاده می کند. سپس فرستنده و گیرنده داده های رمزگذاری شده می توانند از یک کلید مخفی برای رمزگشایی داده ها استفاده کنند.
این فرآیند کمک می کند تا اطمینان حاصل شود که داده ها محرمانه باقی می مانند و در حین انتقال دستکاری نمی شوند. SSH همچنین احراز هویت را فراهم می کند که به جلوگیری از دسترسی غیرمجاز به سیستم ها و داده ها کمک می کند.
دو نوع اصلی رمزگذاری SSH وجود دارد: رمزگذاری کلید عمومی و رمزگذاری کلید متقارن. رمزگذاری کلید عمومی از دو کلید مختلف، یکی برای رمزگذاری و دیگری برای رمزگشایی استفاده می کند.
کلیدها معمولاً توسط یک ارائه دهنده شخص ثالث تولید می شوند و بین فرستنده و گیرنده به اشتراک گذاشته می شوند. رمزگذاری کلید متقارن از یک کلید برای رمزگذاری و رمزگشایی استفاده می کند. این بدان معناست که فرستنده باید ابتدا کلید را برای گیرنده بفرستد تا هر داده ای رمزگذاری یا رمزگشایی شود.
در حالی که رمزگذاری کلید عمومی و کلید متقارن امن هستند، رمزگذاری کلید متقارن معمولا سریعتر است و بنابراین اغلب برای انتقال داده با سرعت بالا استفاده می شود.
آیا Secure Shell روی پلتفرم های موبایل در دسترس است؟
Secure Shell (SSH) در تمام پلتفرم های اصلی موبایل از جمله iOS و Android در دسترس است. این یک راه امن برای دسترسی به رابط خط فرمان (CLI) دستگاه تلفن همراه شما را فراهم می کند، که به شما امکان می دهد دستورات را اجرا کنید و فایل ها را بدون نیاز به نگرانی در مورد استراق سمع شخصی از جلسه شما، انتقال دهید.
برای استفاده از SSH در دستگاه تلفن همراه خود، باید یک برنامه مشتری مانند Termius یا Connectbot را نصب کنید. هنگامی که برنامه را نصب کردید، می توانید با وارد کردن آدرس وب/آدرس IP آن از صفحه اتصال، با استفاده از SSH به سرور خود متصل شوید. همچنین باید نام کاربری و رمز عبور خود را وارد کنید (در صورت استفاده از احراز هویت رمز عبور).
آیا SSH کاملا رایگان است؟
SSH کاملا رایگان نیست، اما برای بسیاری از اهداف رایگان است. به عنوان مثال، هنگام استفاده از SSH برای دسترسی به سرور راه دور، باید هزینه سرور را پرداخت کنید.
با این حال، اگر فقط می خواهید از SSH برای اتصال به رایانه دوست خود استفاده کنید، هیچ هزینه ای دریافت نمی کنید. به طور کلی، SSH برای استفاده شخصی رایگان است، اما برخی از برنامه های تجاری نیاز به هزینه دارند.
آیا همه مرورگرها از Secure Shell پشتیبانی می کنند؟
با برخی از مرورگرها ساده تر است. برای مثال گوگل کروم را در نظر بگیرید. این فقط از تنظیمات مشابه خود سیستم عامل استفاده می کند، بنابراین اگر رایانه خود را برای اتصال از طریق SSH پیکربندی کنید، Chrome نیز این کار را انجام می دهد. همچنین می توانید Chrome را از طریق خط فرمان با استفاده از پرچم “–proxy-server”. (در برگه جدید باز می شود)، اگرچه مسلماً این مشکل بیشتر از استفاده از یک مرورگر دیگر است.
اگر از مرورگر دیگری استفاده میکنید که از SSH پشتیبانی میکند، موزیلا فایرفاکس یا مایکروسافت اج همان مواردی هستند که ما پیشنهاد میکنیم.
چگونه SSH امنیت را افزایش می دهد؟
SSH تمام ترافیک بین کلاینت و سرور را رمزگذاری می کند و شنود ارتباطات را برای مهاجمان بسیار دشوارتر می کند.
این امر به ویژه هنگام انتقال اطلاعات حساس مانند رمز عبور یا داده های مالی مهم است. SSH همچنین قابلیت های احراز هویت را فراهم می کند، به این معنی که فقط کاربران مجاز می توانند به سرور دسترسی داشته باشند.
این از طریق استفاده از جفت کلید عمومی-خصوصی انجام می شود. سرور یک کپی از کلید عمومی و مشتری یک کپی از کلید خصوصی دارد. هنگامی که مشتری تلاش می کند به سرور متصل شود، سرور از کلید عمومی استفاده می کند تا تأیید کند که کلاینت دارای کلید خصوصی است. اگر همه چیز بررسی شود، به کاربر اجازه دسترسی داده می شود.
آیا کلاینت های منبع باز SSH امنیت کمتری دارند؟
انواع مختلفی از کلاینت های SSH موجود است، اما محبوب ترین آنها منبع باز هستند. به طور کلی نرم افزار منبع باز نسبت به نرم افزار منبع بسته ایمن تر است.
این به هر فردی بستگی دارد که تصمیم بگیرد که آیا میخواهد از یک کلاینت منبع باز یا منبع بسته SSH استفاده کند، اما توصیه میکنیم از کلاینتهای منبع باز فقط به دلایل امنیتی استفاده کنید.
چه نوع داده هایی را می توان با استفاده از Secure Shell ایمن کرد؟
یک پوسته امن ابزاری عالی برای ایمن سازی داده ها در حین انتقال است، زیرا می توان از آن برای رمزگذاری ترافیک بین دو رایانه یا داده های ایمن ارسال شده از طریق اینترنت استفاده کرد.
Secure Shell همچنین میتواند برای ایجاد تونلهای امن بین دو رایانه، اغلب برای اتصال ایمن به سرورهای راه دور استفاده شود.
علاوه بر این، میتوان از آن برای ایجاد پشتیبانگیری امن از فایلها، پایگاههای داده و محافظت از دادهها در حین انتقال استفاده کرد.
نحوه استفاده از دسترسی SSH
دسترسی SSH یک راه عالی برای مدیریت وب سرور شما از راه دور است. هنگام استفاده از SSH باید به چند نکته توجه داشت. یکی از مواردی که می توانید انجام دهید این است که مطمئن شوید به سرور صحیح وصل شده اید.
همچنین می توانید با تأیید اثر انگشت کلید SSH سرور از ایمن بودن اتصال خود اطمینان حاصل کنید. در نهایت، مطمئن شوید که از یک رمز عبور قوی برای حساب SSH خود استفاده می کنید.
نحوه تنظیم کلیدهای SSH
مرحله 1. شما باید SSH KEY را ایجاد کنید. برای این کار از دستور SSH-KEYGEN استفاده کنید. پس از آن، باید کلید ssh را کپی کنید.
گام 2. اکنون SSH-KEY را نصب خواهید کرد. برای این کار از دستور SSH-COPY-ID استفاده می کنید. این روی سرور یونیکس یا لینوکس کار می کند.
مرحله 3. در مرحله بعد، باید خود را به حساب مدیریت گروه Wheel یا Sudo اضافه کنید.
مرحله 4. در مرحله بعد، باید ورود رمز عبور را غیرفعال کنید.
مرحله 5. اکنون، باید ورود بدون رمز عبور SSH-KEY خود را تست کنید. برای انجام این کار، از دستور SSH_USER@server-name استفاده کنید.
بهترین دسترسی SSH در هاست
هنگام انتخاب یک ارائه دهنده میزبانی وب، امنیت همیشه اولویت اصلی است. وقتی صحبت از دسترسی SSH به میان می آید، می خواهید مطمئن شوید که ارائه دهنده شما از روش های رمزگذاری قوی استفاده می کند و سرورهای آنها به خوبی محافظت می شوند.
سهولت استفاده نیز مهم است. شما یک ارائه دهنده میزبانی می خواهید که راه اندازی و مدیریت دسترسی SSH شما را آسان کند. و در نهایت، قیمت همیشه عاملی است که باید در صورت داشتن بودجه در نظر بگیرید. شما میخواهید ارائهدهندهای پیدا کنید که قیمتهای رقابتی را بدون به خطر انداختن کیفیت یا امنیت ارائه دهد.
بنابراین بدون هیچ مقدمه ای، در اینجا بهترین ارائه دهندگان هاستینگی هستند که دسترسی SSH را ارائه می دهند:
Bluehost
Bluehost (در برگه جدید باز می شود) یک انتخاب عالی برای دسترسی SSH است. آنها روش های رمزگذاری قوی را ارائه می دهند و سرورهای آنها به خوبی محافظت می شوند. Bluehost همچنین تنظیم و مدیریت آن آسان است، و آن را برای کسانی که تازه از SSH استفاده می کنند یک انتخاب عالی است. و در نهایت، Bluehost قیمت رقابتی را بدون به خطر انداختن کیفیت یا امنیت ارائه می دهد.
HostGator
HostGator (در برگه جدید باز می شود) ارائه دهنده برتر میزبانی وب ایمن و قابل اعتماد است. آنها دسترسی SSH را در تمام برنامه های خود از جمله میزبانی مشترک ارائه می دهند (در برگه جدید باز می شود)، VPS (در برگه جدید باز می شود)و سرورهای اختصاصی (در برگه جدید باز می شود). HostGator از روش های رمزگذاری قوی برای ایمن نگه داشتن داده های شما استفاده می کند و سرورهای آنها به خوبی محافظت می شوند. آنها همچنین یک کنترل پنل با کاربری آسان ارائه می دهند که مدیریت دسترسی SSH شما را آسان می کند.
میزبانی InMotion
میزبانی InMotion (در برگه جدید باز می شود) امنیت قوی و مدیریت آسان دسترسی SSH را ارائه می دهد. قیمت آنها رقابتی است و طیف گسترده ای از طرح ها را برای انتخاب ارائه می دهند.
حفاظت از برنامه های شخص ثالث
برخی از برنامه های شخص ثالث از سایرین ایمن تر هستند. اگر از برنامهای استفاده میکنید که به آن ایمن نیست، ممکن است همان سطح حفاظتی را که با SSH دریافت میکنید، دریافت نکنید. با این حال، مواردی وجود دارد که می توانید برای کمک به ایمن نگه داشتن اطلاعات خود حتی زمانی که از برنامه ای کمتر امن استفاده می کنید، انجام دهید.
اینجا نکاتی وجود دارد:
– مطمئن شوید برنامه ای که استفاده می کنید به روز باشد. نسخههای قدیمیتر ممکن است دارای آسیبپذیریهای امنیتی باشند که از آن زمان برطرف شدهاند.
– مراقب باشید که چه اطلاعاتی را از طریق برنامه به اشتراک می گذارید. اطلاعات حساس را به اشتراک نگذارید، مگر اینکه مطمئن هستید که ایمن نگه داشته می شود.
جایگزین های SSH
چند راه مختلف برای اتصال به سرور راه دور بدون استفاده از SSH وجود دارد. در اینجا لیستی از جایگزین های SSH آمده است:
ترمینال ابدی
ترمینال ابدی یکی از راه های اتصال به سرور راه دور بدون استفاده از SSH است. این یک شبیه ساز ترمینال متن باز و بین پلتفرمی و مشتری شبکه راه دور است. می توان از آن به عنوان جایگزینی برای برنامه استاندارد Terminal در macOS و Linux استفاده کرد.
امکانات عبارتند از:
– از اتصالات SSH، telnet و سوکت خام پشتیبانی می کند
– اتصال مجدد خودکار
– قابل نوشتن با لوا
– پشتیبانی از پلتفرم های مختلف برای macOS، Linux، Windows و موارد دیگر.
موش
Mosh یک جایگزین رایگان و منبع باز برای برنامه ترمینال SSH است. Mosh را می توان برای اتصال به هر سروری که دارای یک شبح SSH در حال اجرا است استفاده کرد.
Mosh دارای چندین ویژگی است که آن را نسبت به SSH قابل اعتمادتر می کند، از جمله:
– پشتیبانی از UDP: این بدان معناست که در صورت قطع شدن اتصال، Mosh می تواند دوباره وصل شود، بدون از دست دادن هیچ داده ای.
– پشتیبانی از دستگاه تلفن همراه: Mosh روی دستگاه های تلفن همراه با تأخیر بالا یا اتصالات ناپایدار به خوبی کار می کند.
– کنترل صفحه کلید: Mosh از اکثر میانبرهای صفحه کلید مشابه SSH پشتیبانی می کند و استفاده از آن را برای هر کسی که با SSH آشنایی دارد آسان می کند.
آیا دسترسی SSH برای شماست؟
SSH در اصل برای اتصال ایمن به سرورهای راه دور طراحی شده است، اما دلیلی ندارد که نتوان از آن برای انتقال فایل نیز استفاده کرد.
با استفاده از SSH، می توانید ترافیک خود را رمزگذاری کنید تا هرکسی که شبکه را بو می کند نتواند داده های شما را بخواند.