دسته بندی:

Putty پوتی چیست؟

PuTTY (پوتی) یک نرم‌افزار رایگان و متن‌باز برای ویندوز است که با آن می‌توانید از راه دور و از طریق پروتکل SSH به خط فرمان یک سرور لینوکس وصل شوید. جز SSH، پروتکل‌های قدیمی‌تری مانند Telnet، Rlogin، Raw و همچنین اتصال سریال را هم پشتیبانی می‌کند. ساده‌ترین تعریف این است: پوتی پنجره‌ای است که ترمینال سرور شما را روی دسکتاپ ویندوز باز می‌کند.

SSH چیست و چرا اصلاً به پوتی نیاز داریم؟

SSH یا Secure Shell پروتکلی است برای اجرای فرمان روی یک ماشین راه دور، به شکل رمزنگاری‌شده. پیش از SSH، پروتکل‌هایی مثل Telnet و Rlogin همین کار را انجام می‌دادند، اما همه چیز — از جمله نام کاربری و رمز عبور — به‌صورت متن ساده روی شبکه جابه‌جا می‌شد. SSH کل نشست را رمز می‌کند و علاوه بر آن هویت خودِ سرور را با «کلید میزبان» (host key) تأیید می‌کند تا کسی نتواند خودش را جای سرور شما جا بزند. به همین دلیل امروز عملاً تنها گزینه منطقی برای مدیریت از راه دور یک VPS یا سرور اختصاصی لینوکسی است و Telnet و Rlogin در پوتی فقط برای سازگاری با تجهیزات قدیمی باقی مانده‌اند.

لینوکس و مک دستور ssh را به‌صورت پیش‌فرض در ترمینال دارند و نسخه‌های اخیر ویندوز ۱۰ و ۱۱ هم کلاینت OpenSSH را همراه خود دارند. با این حال پوتی به‌خاطر رابط گرافیکی، ذخیره نشست‌ها و ابزارهای جانبی‌اش همچنان میان مدیران ویندوزی رایج است. اگر به‌جای خط فرمان به یک میزکار گرافیکی کامل روی خودِ سرور نیاز دارید، نصب محیط گرافیکی روی لینوکس گزینه‌ها و هزینه‌های این کار را بررسی کرده است.

دریافت و اجرای پوتی

پوتی را فقط از سایت رسمی پروژه یا مخازن معتبر دانلود کنید؛ نسخه‌های دستکاری‌شده که رمز و کلید کاربران را به بیرون می‌فرستند سابقه دارند. نرم‌افزار هم به شکل بسته نصبی و هم به شکل یک فایل اجرایی قابل حمل (putty.exe) عرضه می‌شود.

اتصال به سرور لینوکس، گام به گام

  • در فیلد Host Name (or IP address) آدرس یا آی‌پی سرور را وارد کنید.
  • در فیلد Port پورت SSH را بنویسید؛ مقدار پیش‌فرض ۲۲ است، مگر اینکه خودتان آن را تغییر داده باشید.
  • نوع اتصال (Connection type) را روی SSH بگذارید و دکمه Open را بزنید.
  • در نخستین اتصال، پنجره‌ای اثر انگشت کلید میزبان را نشان می‌دهد؛ آن را با مقداری که ارائه‌دهنده سرور یا کنسول مدیریت داده مقایسه کنید. پس از پذیرش، پوتی کلید را ذخیره می‌کند. اگر روزی همین هشدار بدون دلیل تکرار شد، یعنی کلید سرور عوض شده و باید علتش را پیدا کنید.
  • سپس نام کاربری و رمز عبور را وارد کنید. هنگام تایپ رمز هیچ کاراکتری روی صفحه دیده نمی‌شود؛ این رفتار طبیعی است، نه ایراد.

یک نکته کاربردی: در محیط پوتی، انتخاب متن با ماوس همان لحظه آن را کپی می‌کند و کلیک راست محتوای کلیپ‌بورد را می‌چسباند. ترکیب Ctrl+V در ترمینال کار نمی‌کند.

رمز عبور یا کلید SSH؟

ورود با رمز عبور ساده است اما در معرض حدس زدن قرار دارد؛ هر سرور عمومی روی اینترنت مدام هدف تلاش‌های خودکار ورود است. در روش کلید عمومی یک جفت کلید می‌سازید: کلید عمومی روی سرور می‌ماند و کلید خصوصی فقط روی کامپیوتر شما. بدون کلید خصوصی، دانستن نام کاربری به کار مهاجم نمی‌آید.

ساخت کلید با PuTTYgen

ابزار PuTTYgen همراه پوتی نصب می‌شود. در آن نوع کلید را انتخاب کنید (Ed25519 گزینه خوبی است؛ اگر به RSA نیاز دارید طول کلید را دست‌کم ۲۰۴۸ بیت بگذارید)، Generate را بزنید و برای کلید خصوصی حتماً یک passphrase تعیین کنید تا اگر فایل به دست دیگری افتاد قابل استفاده نباشد. سپس:

  • متن داخل کادر «Public key for pasting into OpenSSH authorized_keys file» را کامل کپی کنید و در سرور به فایل ~/.ssh/authorized_keys اضافه کنید.
  • دسترسی‌ها را درست کنید: chmod 700 ~/.ssh و chmod 600 ~/.ssh/authorized_keys؛ در غیر این صورت سرویس SSH کلید را نادیده می‌گیرد.
  • کلید خصوصی را با پسوند .ppk ذخیره کنید و در پوتی از مسیر Connection > SSH > Auth (در نسخه‌های جدیدتر زیر بخش Credentials) فایل را انتخاب کنید.
  • اگر ابزار دیگری کلید با قالب OpenSSH می‌خواهد، از منوی Conversions در PuTTYgen خروجی مناسب بگیرید.

برنامه Pageant نقش عامل کلید (SSH agent) را دارد؛ کلید خصوصی را یک بار باز می‌کند و در حافظه نگه می‌دارد تا در هر اتصال passphrase را دوباره وارد نکنید.

ذخیره نشست‌ها تا هر بار از نو تنظیم نکنید

پس از وارد کردن آدرس، پورت و تنظیمات دلخواه، در بخش Saved Sessions یک نام بگذارید و Save را بزنید؛ از این پس با دوبار کلیک روی همان نام مستقیم متصل می‌شوید. در مسیر Connection > Data می‌توانید نام کاربری را در Auto-login username ذخیره کنید و در شاخه Connection مقدار «Seconds between keepalives» را روی عددی مثل ۳۰ بگذارید تا نشست‌های بی‌کار زود قطع نشوند.

چند نکته امنیتی پایه

  • ورود مستقیم root را ببندید. با یک کاربر عادی وارد شوید و کارهای مدیریتی را با sudo انجام دهید. در فایل /etc/ssh/sshd_config مقدار PermitRootLogin را روی no بگذارید.
  • بعد از اطمینان از کارکرد کلید، ورود با رمز را غیرفعال کنید (PasswordAuthentication no). ترتیب کار مهم است: اول با کلید وارد شوید، بعد رمز را ببندید.
  • تغییر پورت پیش‌فرض جلوی حملات هدفمند را نمی‌گیرد، اما حجم زیادی از تلاش‌های خودکار و نویز لاگ را کم می‌کند. اگر پورت را عوض کردید، اول آن را در فایروال باز کنید (در برخی توزیع‌ها تنظیم SELinux هم لازم است)، سپس سرویس را ری‌استارت کنید و پیش از بستن نشست فعلی، در یک پنجره جدید پوتی اتصال با پورت تازه را امتحان کنید تا خودتان بیرون از سرور نمانید.
  • هر تغییری در sshd_config را پیش از ری‌استارت با sshd -t بررسی کنید تا یک خطای تایپی سرویس را از کار نیندازد.
  • کلید خصوصی را در ایمیل، چت یا فضای ابری مشترک نگذارید و از آن نسخه پشتیبان امن داشته باشید.

ابزارهای همراه پوتی

بسته پوتی چند ابزار خط فرمان هم دارد که کمتر دیده می‌شوند: pscp و psftp برای انتقال فایل بین ویندوز و سرور، و plink برای اجرای فرمان روی سرور از داخل اسکریپت‌ها و فایل‌های Batch. برای کارهای تکراری، plink همراه کلید SSH راه ساده‌ای برای خودکارسازی است.

جمع‌بندی

پوتی ابزار پیچیده‌ای نیست؛ کافی است آدرس و پورت سرور را بدانید و یک بار زحمت راه‌اندازی کلید SSH را بکشید. همان ابتدای کار ورود root را ببندید، احراز هویت کلیدی را فعال کنید و نشست‌ها را ذخیره کنید تا مدیریت روزمره سرور سریع‌تر شود. اگر ترجیح می‌دهید این تنظیمات و نگهداری بعدی را خودتان انجام ندهید، VPS مدیریت‌شده همین کارها را به تیم فنی می‌سپارد؛ و اگر جایی از مسیر به مشکل خوردید، تیم پشتیبانی آنلاین سرور می‌تواند بررسی کند.