PuTTY یک کلاینت SSH سبک و قدیمی برای ویندوز است که وقتی نشستهای ذخیرهشده و پنجرهی تنظیمات گرافیکی میخواهید کاربردی است. در این راهنما به VPS Linux Infrawire خود وصل میشوید، نشست را زنده نگه میدارید، با PuTTYgen و Pageant به احراز هویت با کلید میروید و با pscp فایل منتقل میکنید.
📋 پیشنیازها
- ویندوز 10 یا 11.
- یک VPS لینوکس روشن (Ubuntu 24.04، Debian 12، AlmaLinux 9 یا Rocky 9).
- آدرس IP سرور و رمز root: از بخش کاربری خود میتوانید IP و رمز root مربوط به VPS را پیدا کنید.
- PuTTY نصبشده که شامل
putty.exe،puttygen.exe،pageant.exeوpscp.exeاست.
اگر از winget استفاده میکنید، نصب فقط یک خط در PowerShell است:
PowerShellwinget install PuTTY.PuTTY
🔌 ساخت و ذخیرهی نشست
- PuTTY را اجرا کنید. در دستهی Session مقدار
VPS_IPرا در Host Name (or IP address) بنویسید. - Port را روی
22(یا پورت سفارشی خود) و Connection type را روی SSH بگذارید. - در کادر Saved Sessions نامی مانند
myvpsبنویسید و روی Save کلیک کنید. - اختیاری: در Connection > Data مقدار
rootرا در Auto-login username بنویسید تا نام کاربری پرسیده نشود. - به Session برگردید،
myvpsرا انتخاب کنید، دوباره Save و سپس Open را بزنید.
در اولین اتصال، PuTTY پنجرهی PuTTY Security Alert را با اثر انگشت کلید سرور نشان میدهد. فقط اگر به سرور اعتماد دارید Accept را بزنید: کلید در رجیستری ذخیره میشود.
⏱️ جلوگیری از قطع اتصال با keepalive
نشستهای بیکار اغلب توسط مسیریابها و فایروالها قطع میشوند. بخش Connection را باز کنید، Seconds between keepalives را روی 30 بگذارید، به Session برگردید و myvps را دوباره ذخیره کنید. از این پس PuTTY هر ۳۰ ثانیه یک بستهی کوچک میفرستد.
🔑 ساخت جفت کلید با PuTTYgen
PuTTYgen را باز کنید، نوع کلید را EdDSA (Ed25519) انتخاب کنید و در حالی که ماوس را روی ناحیهی خالی حرکت میدهید روی Generate کلیک کنید. سپس:
- یک Key passphrase وارد و تأیید کنید.
- روی Save private key کلیک کنید و فایل
.ppkرا در جای امنی نگه دارید. - متن Public key for pasting into OpenSSH authorized_keys file را کپی کنید.
با رمز خود وارد شوید و کلید عمومی را روی VPS نصب کنید (خط کپیشده را داخل فایل بچسبانید):
Bashmkdir -p ~/.ssh && chmod 700 ~/.ssh nano ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
در PuTTY به Connection > SSH > Auth > Credentials بروید، فایل .ppk را در Private key file for authentication انتخاب کنید، به Session برگردید و ذخیره کنید. برای استفاده از یک کلید خصوصی OpenSSH موجود، از PuTTYgen کمک بگیرید: Conversions > Import key و سپس Save private key.
🧩 بارگذاری یکبارهی کلید با Pageant
Pageant عامل کلید PuTTY است. pageant.exe را اجرا کنید که در ناحیهی اعلانها قرار میگیرد، روی نمادش راستکلیک کنید، Add Key را بزنید، فایل .ppk را انتخاب کنید و عبارت عبور را فقط یک بار وارد کنید. تا وقتی Pageant در حال اجراست، PuTTY و pscp از کلید بدون پرسش دوباره استفاده میکنند. برای فراموش شدن کلید، Pageant را ببندید.
📂 انتقال فایل با pscp
pscp.exe ابزار کپی خط فرمان PuTTY است. به -P با حرف بزرگ برای پورت توجه کنید. در PowerShell:
PowerShell# آپلود فایل pscp -P 22 C:\Users\USER\Documents\site.zip root@VPS_IP:/root/ # دانلود فایل pscp -P 22 root@VPS_IP:/var/log/syslog C:\Users\USER\Downloads\ # آپلود کل پوشه pscp -r -P 22 C:\Users\USER\project root@VPS_IP:/root/ # استفاده از یک کلید مشخص pscp -i C:\keys\vps.ppk site.zip root@VPS_IP:/root/
اگر pscp پیدا نشد، آن را با مسیر کامل فراخوانی کنید، مثلاً & 'C:\Program Files\PuTTY\pscp.exe'.
✅ بررسی اتصال
پس از ورود، بررسی کنید که از کلید استفاده میشود و روی ماشین درست هستید:
Bashwhoami hostname cat /etc/os-release sudo grep 'Accepted publickey' /var/log/auth.log | tail -n 3
دستور آخر روی Ubuntu/Debian کار میکند؛ در AlmaLinux/Rocky از sudo journalctl -u sshd | grep Accepted | tail -n 3 استفاده کنید. نوار عنوان PuTTY نشست متصل را نشان میدهد و Event Log (راستکلیک روی نوار عنوان) مراحل احراز هویت را فهرست میکند.
🛠️ عیبیابی
Network error: Connection timed out / refused. VPS_IP و پورت را بررسی کنید، همچنین اینکه VPS روشن است و SSH گوش میدهد (در Ubuntu/Debian دستور sudo systemctl status ssh و در AlmaLinux/Rocky سرویس sshd). فایروال محلی یا شبکهی سازمانی هم ممکن است پورت را ببندد.
Server refused our key / Disconnected: No supported authentication methods available. کلید عمومی در یک خط چسبانده نشده، کاربر اشتباه است یا مجوزها بیش از حد باز هستند. فایل authorized_keys را دوباره بررسی کنید، chmod 700 ~/.ssh و chmod 600 ~/.ssh/authorized_keys را اجرا کنید و مطمئن شوید .ppk با کلید عمومی مطابقت دارد.
Unable to use key file (OpenSSH SSH-2 private key). PuTTY این قالب را نمیخواند. کلید را با PuTTYgen تبدیل کنید (Conversions > Import key) یا PuTTY را به نسخهی جدید بهروزرسانی کنید.
نشست بعد از چند دقیقه یخ میزند. فاصلهی keepalive را مطابق توضیح بالا تنظیم کنید.
🚀 اکنون PuTTY با نشست ذخیرهشده، ورود با کلید و انتقال فایل آماده است. گام بعدی: وقتی کلید شما کار کرد، ورود با رمز را غیرفعال کنید.