راه اندازی اتصالات SSH در ویندوز برای دسترسی به سرور از راه دور

16/12/2023 |
Loading...

مقدمه

در این آموزش، شما یاد خواهید گرفت که چگونه یک اتصال SSH از یک دستگاه ویندوزی به یک سرور راه دور برقرار کنید. ما فرآیند راه اندازی پشتیبانی SSH در ویندوز، تولید جفت کلید SSH، مدیریت کلیدهای SSH و تنظیم احراز هویت خودکار را پوشش خواهیم داد.

پیش نیازها

قبل از شروع، مطمئن شوید که موارد زیر را دارید:

  • دستگاه محلی با ویندوز 10/11
  • سرور راه دور با آدرس IP عمومی

مرحله 1 - فعال سازی پشتیبانی SSH در ویندوز

برای برقراری اتصال SSH، باید مطمئن شوید که دستگاه ویندوزی شما از SSH پشتیبانی می‌کند. بسته به نسخه ویندوز شما، می‌توانید یکی از گزینه‌های زیر را انتخاب کنید:

گزینه 1 - استفاده از Windows PowerShell

این گزینه به شما امکان می‌دهد از دستورات پایه SSH بدون نصب نرم‌افزار اضافی استفاده کنید. این روش در ویندوز 10 نسخه 1709 و بالاتر کار می‌کند.

  1. نسخه ویندوز خود را با باز کردن Windows PowerShell و اجرای دستور زیر بررسی کنید:

    Get-ComputerInfo | select OsName, OSDisplayVersion, OsBuildNumber
  2. اگر ویندوز 10 نسخه 1709 یا بالاتر دارید، می‌توانید از PowerShell برای SSH استفاده کنید. اگر OpenSSH Client نصب نشده است، می‌توانید آن را نصب کنید:

    • در نوار جستجوی ویندوز عبارت "Optional features" را جستجو کنید.
    • در بخش "Installed features"، به دنبال "OpenSSH Client" بگردید. اگر موجود نیست، "+ Add a feature" را انتخاب کرده و "OpenSSH Client" را نصب کنید.
  3. پس از داشتن نسخه صحیح PowerShell و نصب OpenSSH Client، PowerShell را باز کرده و از دستور SSH برای اتصال به سرور خود استفاده کنید:

    ssh root@<add your IP here>

    <add your IP here> را با آدرس IP سرور خود جایگزین کنید.

  4. اگر هشدار مربوط به اصالت هاست ظاهر شد، می‌توانید "yes" را وارد کنید تا ادامه دهید.

گزینه 2 - نصب زیرسیستم لینوکس

این گزینه به شما امکان می‌دهد یک توزیع WSL (زیرسیستم ویندوز برای لینوکس) نصب کنید که به شما امکان اجرای دستورات لینوکس در دستگاه ویندوزی را می‌دهد. این روش در ویندوز 10 نسخه 1607 و بالاتر کار می‌کند.

  1. زیرسیستم ویندوز برای لینوکس (WSL) را با جستجوی عبارت "Turn Windows features on or off" در نوار جستجوی ویندوز فعال کنید. "Virtual Machine Platform" و "Windows Subsystem for Linux" را فعال کنید. سپس "OK" را کلیک کرده و دستگاه خود را ریستارت کنید.

  2. یک توزیع لینوکس را نصب کنید، یا از طریق Microsoft Store یا PowerShell:

    • از طریق Microsoft Store: توزیع لینوکس مورد نظر خود (مثلاً "Ubuntu") را در Microsoft Store جستجو کرده و نصب کنید.

    • از طریق PowerShell: توزیع‌های لینوکس موجود را لیست کرده و یکی را انتخاب کنید:

      wsl --list --online # لیست توزیع‌های لینوکس موجود wsl --install <distribution> # نصب یک توزیع لینوکس، مثلاً "wsl --install Ubuntu"
  3. ترمینال لینوکس را با جستجوی توزیع لینوکس نصب شده در نوار جستجوی ویندوز باز کنید. اکنون می‌توانید دستورات لینوکس را اجرا کنید.

  4. با استفاده از SSH در ترمینال لینوکس به سرور خود متصل شوید:

    ssh root@<add your IP here>

    <add your IP here> را با آدرس IP سرور خود جایگزین کنید.

  5. اگر هشدار مربوط به اصالت هاست ظاهر شد، می‌توانید "yes" را وارد کنید تا ادامه دهید.

گزینه 3 - نصب PuTTY

همچنین می‌توانید از PuTTY استفاده کنید که یک رابط کاربری گرافیکی (GUI) برای اتصالات SSH ارائه می‌دهد.

  1. فایل بسته PuTTY را دانلود کنید.

  2. فایل PuTTY دانلود شده را نصب کنید و پس از اتمام نصب، "Finish" را انتخاب کنید.

  3. در نوار جستجوی ویندوز، "PuTTY" را وارد کنید تا پنجره PuTTY باز شود.

  4. در کادر متنی بالا سمت چپ، نام کاربری و آدرس IP خود را به فرمت <username>@<IP-address> وارد کنید. پورت 22 را نگه دارید.

  5. "Open" را کلیک کنید تا اتصال SSH برقرار شود. ممکن است هشداری درباره اصالت هاست دریافت کنید؛ "Accept" را انتخاب کنید تا ادامه دهید.

  6. هنگامی که در ترمینال از شما خواسته شد، رمز عبور خود را وارد کنید. توجه داشته باشید که رمز عبور هنگام تایپ نمایش داده نمی‌شود.

مرحله 2 - تولید کلید SSH

اکنون که می‌دانید چگونه به سرور خود متصل شوید، می‌توانید یک جفت کلید SSH برای احراز هویت امن بدون رمز عبور تولید کنید.

  1. دستورالعمل‌های تولید کلید SSH را بر اساس روش SSH که انتخاب کرده‌اید دنبال کنید:

    • ترمینال لینوکس یا PowerShell: مراحل ذکر شده در "تنظیم کلید SSH" را دنبال کنید.

    • PuTTY: اگر PuTTY را نصب کرده‌اید، همراه با "PuTTY Key Generator" ارائه می‌شود. در نوار جستجوی ویندوز "PuTTYgen" را جستجو کرده و آموزش "تولید کلید SSH با استفاده از PuTTYgen" را دنبال کنید.

  2. جفت کلید SSH را در مکان مناسب ذخیره کنید:

    • با PowerShell و ترمینال لینوکس، کلیدها را در ~/.ssh ذخیره کنید.

    • با PuTTY، کلیدها را در مکان مورد نظر خود ذخیره کنید.

  3. کلید عمومی خود را از دستگاه محلی کپی کنید:

    • PowerShell:

      Get-Content ~/.ssh/id_<type>.pub
    • ترمینال لینوکس:

      cat ~/.ssh/id_<type>.pub

مرحله 3 - مدیریت کلید SSH

اکنون، بیاموزید که چگونه کلیدهای SSH را برای روش‌های مختلف SSH مدیریت کنید.

PowerShell:

همه فایل‌های SSH در دایرکتوری ~/.ssh ذخیره می‌شوند. برای به‌روزرسانی یا حذف یک کلید، می‌توانید فایل‌های کلید را حذف کنید:

  • برای حذف یک کلید:

    Remove-Item ~/.ssh/id_<type> ~/.ssh/id_<type>.pub
  • به دلایل امنیتی، کلید عمومی را از فایل authorized_keys در سرور راه دور نیز حذف کنید.

ترمینال لینوکس:

همه فایل‌های SSH در دایرکتوری ~/.ssh ذخیره می‌شوند. برای به‌روزرسانی یا حذف یک کلید، می‌توانید فایل‌های کلید را حذف کنید:

  • برای حذف یک کلید:

    rm -rf ~/.ssh/id_<type> ~/.ssh/id_<type>.pub
  • به دلایل امنیتی، کلید عمومی را از فایل authorized_keys در سرور راه دور نیز حذف کنید.

PuTTY:

PuTTY فایل‌های SSH مانند config و known_hosts را برای شما مدیریت می‌کند. برای ویرایش یک کلید SSH موجود، از گزینه "Load" در PuTTYgen استفاده کنید. برای حذف یک کلید SSH، به سادگی فایل‌های کلید را از دستگاه ویندوزی خود حذف کنید. به یاد داشته باشید که برای امنیت، کلید عمومی را از فایل authorized_keys در سرور راه دور حذف کنید.

مرحله 4 - تنظیم احراز هویت خودکار

برای ساده‌سازی اتصالات SSH، می‌توانید احراز هویت خودکار را تنظیم کنید.

PowerShell و ترمینال لینوکس:

فایل config در دایرکتوری ~/.ssh را ویرایش کنید تا ورودی‌هایی برای اتصالات پیش‌فرض اضافه کنید. به این ترتیب، می‌توانید به جای مشخص کردن نام کاربری و آدرس IP هر بار، از ssh <unique-name> استفاده کنید.

  1. فایل config را ویرایش کنید:

    • PowerShell:

      notepad ~/.ssh/config
    • ترمینال لینوکس:

      nano ~/.ssh/config

    اگر فایل وجود ندارد، آن را در C:\Users\<username>\.ssh (PowerShell) یا ~/.ssh (ترمینال لینوکس) ایجاد کنید.

  2. یک ورودی جدید به فرمت زیر اضافه کنید:

    Host <unique-name> HostName <IP-address> User <username> PreferredAuthentications publickey

    <unique-name> را با یک نام دلخواه، <IP-address> را با آدرس IP سرور خود و <username> را با نام کاربری سرور خود جایگزین کنید. اگر کلید SSH را به سرور خود اضافه نکرده‌اید، "PreferredAuthentications" را به "password" تغییر دهید.

  3. فایل را ذخیره کرده و ببندید.

  4. با ورودی جدید، اکنون می‌توانید از ssh <unique-name> برای اتصال به سرور خود استفاده کنید.

PuTTY:

برای PuTTY، مراحل زیر را برای تنظیم احراز هویت خودکار دنبال کنید:

  1. PuTTY را باز کرده و به "Connection" » "SSH" » "Auth" » "Credentials" بروید.

  2. "Browse" را کلیک کنید تا فایل کلید خصوصی SSH خود را انتخاب کنید (معمولاً با پسوند .ppk).

  3. به دسته "Session" برگردید.

  4. در کادر متنی بالا سمت چپ، نام کاربری و آدرس IP سرور راه دور را وارد کنید.

  5. در بخش "Saved Sessions"، یک نام منحصر به فرد برای این پیکربندی وارد کرده و "Save" را کلیک کنید.

  6. اکنون، هنگامی که روی session ذخیره شده دوبار کلیک کنید، PuTTY به طور خودکار با استفاده از کلید انتخاب شده به نام کاربری و آدرس IP مشخص شده متصل می‌شود.

نتیجه‌گیری

تبریک می‌گوییم! اکنون می‌دانید چگونه از طریق SSH از دستگاه ویندوزی خود به یک سرور راه دور متصل شوید. قبل از کار با سرور، باید پیکربندی‌های لازم را بر اساس تنظیمات خاص سرور خود تکمیل کنید. برای راهنمایی بیشتر، آموزش "تنظیمات اولیه سرور با اوبونتو" یا مستندات معادل برای سیستم عامل سرور خود را بررسی کنید.

دریافت پیشنهادات و تخفیف‌های ویژه!

از جدیدترین تخفیف‌ها، آفرها و پیشنهادات ویژه باخبر شوید.

Update cookies preferences