اتصال SSH از ویندوز به سرور لینوکس؛ PowerShell، PuTTY و کلید SSH

اتصال SSH از ویندوز به سرور لینوکس؛ PowerShell، PuTTY و کلید SSH

جدول محتوا 👇

سرور مجازی لینوکسی خریده‌اید و حالا یک IP، نام کاربری و رمز دارید؛ قدم بعدی اتصال از کامپیوتر ویندوزی است. ویندوز ۱۰ و ۱۱ کلاینت SSH داخلی دارند و دیگر حتماً به نرم‌افزار جانبی نیاز نیست. در این راهنما اتصال SSH از ویندوز را با PowerShell، Windows Terminal، PuTTY و MobaXterm توضیح می‌دهیم و نشان می‌دهیم چطور ورود با کلید SSH را جایگزین رمز کنید.

چه چیزهایی لازم است؟

  • آدرس IP سرور (مثلاً 203.0.113.10).
  • نام کاربری (اغلب root یا کاربری که ساخته‌اید).
  • رمز یا کلید خصوصی SSH.
  • پورت SSH؛ پیش‌فرض ۲۲ است، مگر اینکه تغییرش داده باشید.

روش ۱: OpenSSH داخلی ویندوز

PowerShell یا Windows Terminal را باز کنید و بنویسید:

ssh root@203.0.113.10
ssh -p 2222 admin@203.0.113.10   # اگر پورت تغییر کرده

در اولین اتصال، اثر انگشت (Fingerprint) کلید سرور نمایش داده می‌شود؛ با yes تأیید کنید. سپس رمز را وارد کنید (هنگام تایپ نمایش داده نمی‌شود). اگر دستور ssh شناخته نشد، از Settings › Apps › Optional features، گزینه «OpenSSH Client» را نصب کنید.

Windows Terminal با زبانه‌ها، کپی و چسباندن راحت و پشتیبانی بهتر از رنگ‌ها، تجربه بهتری از PowerShell ساده می‌دهد.

ساخت و استفاده از کلید SSH

ورود با کلید امن‌تر از رمز است و پس از تنظیم، بدون تایپ رمز وارد می‌شوید.

۱. ساخت کلید در ویندوز:

ssh-keygen -t ed25519 -C "my-laptop"

کلید در C:\Users\NAME\.ssh\id_ed25519 (خصوصی) و id_ed25519.pub (عمومی) ذخیره می‌شود. برای کلید خصوصی یک Passphrase بگذارید.

۲. کپی کلید عمومی روی سرور: ویندوز دستور ssh-copy-id ندارد؛ این معادل PowerShell است:

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@203.0.113.10 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

۳. تست: ssh root@203.0.113.10 باید بدون رمز سرور (فقط Passphrase کلید) وارد شود. پس از اطمینان، ورود با رمز را روی سرور غیرفعال کنید؛ مراحل در سخت‌سازی SSH.

برای اینکه Passphrase را هر بار وارد نکنید، سرویس ssh-agent ویندوز را فعال کنید:

Get-Service ssh-agent | Set-Service -StartupType Automatic
Start-Service ssh-agent
ssh-add $env:USERPROFILE\.ssh\id_ed25519

(دستورهای سرویس را در PowerShell با دسترسی Administrator اجرا کنید.)

فایل config برای اتصال سریع

فایل C:\Users\NAME\.ssh\config را بسازید:

Host myvps
    HostName 203.0.113.10
    User admin
    Port 2222
    IdentityFile ~/.ssh/id_ed25519
    ServerAliveInterval 60

از این پس فقط ssh myvps کافی است. ServerAliveInterval از قطع شدن اتصال‌های بیکار جلوگیری می‌کند.

روش ۲: PuTTY

  1. PuTTY را از سایت رسمی آن دانلود و نصب کنید.
  2. در فیلد Host Name، IP سرور و در Port، شماره پورت را وارد کنید.
  3. برای ذخیره، یک نام در Saved Sessions بنویسید و Save را بزنید.
  4. Open را بزنید و نام کاربری و رمز را وارد کنید.

PuTTY کلیدها را با فرمت .ppk می‌خواهد. با PuTTYgen می‌توانید کلید OpenSSH را Load و با فرمت ppk ذخیره کنید، سپس در Connection › SSH › Auth › Credentials معرفی کنید.

روش ۳: MobaXterm و ابزارهای گرافیکی

MobaXterm ترمینال SSH را با مرورگر فایل SFTP در کنار هم نشان می‌دهد و برای کسانی که تازه کار با سرور را شروع کرده‌اند راحت است. ابزارهایی مثل Termius هم مدیریت چند سرور و همگام‌سازی بین دستگاه‌ها را ساده می‌کنند. هر ابزاری انتخاب می‌کنید، آن را از سایت رسمی دریافت کنید.

انتقال فایل از ویندوز به سرور

scp .\site.zip myvps:/var/www/
scp myvps:/var/log/nginx/error.log .\
scp -r .\project myvps:~/

برای محیط گرافیکی، WinSCP یا FileZilla با پروتکل SFTP (نه FTP) مناسب‌اند. پس از انتقال، مالکیت فایل‌ها را بررسی کنید؛ توضیح در دسترسی فایل‌ها در لینوکس.

خطاهای رایج

  • Connection timed out: IP یا پورت اشتباه است، سرور خاموش است یا فایروال پورت را بسته است.
  • Connection refused: سرور در دسترس است اما سرویس SSH روی آن پورت گوش نمی‌دهد.
  • Permission denied (publickey): کلید درست معرفی نشده یا ورود با رمز غیرفعال است؛ با ssh -v جزئیات را ببینید.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: کلید سرور تغییر کرده؛ اگر سرور را دوباره نصب کرده‌اید، خط مربوط را با ssh-keygen -R 203.0.113.10 حذف کنید. در غیر این صورت، پیش از ادامه علت را بررسی کنید.
  • بعد از چند تلاش ناموفق دیگر وصل نمی‌شوید: احتمالاً Fail2ban IP شما را مسدود کرده؛ توضیح در نصب Fail2ban.

سوالات متداول

PuTTY بهتر است یا OpenSSH ویندوز؟

OpenSSH داخلی نیاز به نصب ندارد و با همان دستورهای لینوکس و مک کار می‌کند؛ برای بیشتر کاربران کافی است. PuTTY برای کسانی که محیط گرافیکی و ذخیره نشست را ترجیح می‌دهند مناسب است.

کلید خصوصی را گم کنم چه می‌شود؟

اگر ورود با رمز غیرفعال است، از کنسول پنل سرور (VNC) وارد شوید و کلید عمومی جدید را اضافه کنید. همیشه یک راه ورود جایگزین داشته باشید.

آیا می‌توان از موبایل هم SSH زد؟

بله؛ برنامه‌هایی مثل Termius یا JuiceSSH این کار را انجام می‌دهند. کلید خصوصی را روی موبایل با Passphrase محافظت کنید.

برای سرور ویندوزی هم از SSH استفاده می‌شود؟

معمولاً برای سرور ویندوزی از Remote Desktop استفاده می‌شود؛ راهنما در اتصال به سرور مجازی ویندوز.

سرور لینوکس با دسترسی کامل

سرورهای مجازی تراست هاست با دسترسی root و کنسول اضطراری تحویل می‌شوند تا همیشه راهی برای ورود داشته باشید.

سرور مجازی ابری تراست هاست

مشاوره تراست‌هاست​

با متخصصان و کارشناسان به صورت رایگان!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *