آموزش اتصال SSH به سرور لینوکس از ویندوز؛ پورت، رمز و کلید
برای مدیریت سرور لینوکس لازم نیست روی کامپیوترتان لینوکس نصب کنید. میتوانید از ترمینال ویندوز به SSH وصل شوید، فرمان اجرا کنید و فایل منتقل کنید. در این آموزش از IP نمونه استفاده میکنیم؛ آن را با IP و پورت تحویلشدهٔ سرویس خودتان جایگزین کنید.
مرحلهٔ ۱: اطلاعات اتصال را جداگانه بردارید
از مشخصات سرویس، IP سرور، پورت SSH، نام کاربری و روش ورود را پیدا کنید. پورت پیشفرض SSH برابر ۲۲ است، اما ارائهدهنده میتواند پورت دیگری تعیین کند. رمز حساب سایت یا رمز TeamSpeak به معنی رمز لینوکس نیست.
در مثال زیر، کاربر ubuntu، آدرس 203.0.113.10 و پورت 2222 صرفاً آموزشیاند. اگر نام کاربری تحویلی شما متفاوت است، همان را وارد کنید. یک IP را با پورت اشتباه امتحانکردن میتواند به سرویس دیگری یا خطای اتصال منتهی شود.
مرحلهٔ ۲: ترمینال ویندوز را باز کنید
از منوی Start، Windows Terminal یا PowerShell را باز کنید. با فرمان زیر وجود کلاینت را بررسی کنید:
ssh -V
اگر نسخه نشان داده شد، ادامه دهید. اگر ssh شناخته نمیشود، OpenSSH Client ویندوز باید نصب یا فعال شود؛ مسیر آن به نسخهٔ ویندوز وابسته است. از راهنمای رسمی OpenSSH در ویندوز استفاده کنید. برای اتصال از کامپیوتر، کلاینت لازم است؛ فعالکردن SSH Server روی کامپیوتر شخصی لازم نیست.
مرحلهٔ ۳: با پورت درست وصل شوید
این فرمان را با اطلاعات خودتان اجرا کنید:
ssh -p 2222 ubuntu@203.0.113.10
گزینهٔ -p پورت را تعیین میکند. در اولین اتصال، اثرانگشت کلید میزبان نشان داده میشود. آن را با اطلاعات معتبر ارائهدهنده یا کنسول سرور مقایسه کنید و فقط بعد از تطبیق بپذیرید. اگر قبلاً وصل شدهاید ولی ناگهان پیام تغییر کلید میبینید، ابتدا علت را بررسی کنید؛ نصب مجدد میتواند علت مشروع باشد، اما حذف بیبررسی رکورد قبلی مناسب نیست.
وقتی رمز خواسته میشود، هنگام تایپ ممکن است هیچ نقطه یا ستارهای دیده نشود؛ این رفتار عادی ترمینال است. رمز را وارد و Enter بزنید. پس از ورود، نام کاربر و میزبان در خط فرمان قابل بررسیاند.
مرحلهٔ ۴: با فرمانهای فقطخواندنی شروع کنید
برای اطمینان از میزبان و وضعیت، این فرمانها را یکییکی اجرا کنید:
whoami
hostname
pwd
df -h
free -h
whoami حساب جاری، hostname نام میزبان و pwd پوشهٔ فعلی را نشان میدهد. df فضای فایلسیستم و free وضعیت حافظه را نمایش میدهد. این فرمانها فایلها را حذف یا سرویس را ریاستارت نمیکنند. برای پایان نشست از exit استفاده کنید؛ قطع SSH با خاموشکردن سرور فرق دارد.
مرحلهٔ ۵: فایل را با SFTP منتقل کنید
اگر از یک برنامهٔ SFTP استفاده میکنید، پروتکل SFTP، همان IP، پورت SSH و کاربر را وارد کنید. FTP معمولی پروتکل دیگری است و با همان تنظیمات لزوماً کار نمیکند. ابتدا یک فایل کوچک را در پوشهای که اجازهٔ نوشتن دارید منتقل و وجودش را بررسی کنید.
ارسال فایل به /etc یا پوشهٔ برنامه ممکن است به دسترسی مدیریت نیاز داشته باشد. ابتدا آن را در پوشهٔ کاربر بفرستید و سپس با مجوز مناسب نصب کنید. برای رفع خطای Permission Denied، کل پوشهٔ سیستم را با chmod 777 باز نکنید؛ مالکیت و مسیر مقصد باید اصلاح شوند.
مرحلهٔ ۶: ورود با کلید را آماده کنید
کلید SSH دو بخش دارد: عمومی و خصوصی. بخش عمومی روی سرور ثبت میشود و بخش خصوصی نزد شما میماند. برای ساخت یک کلید تازه در کامپیوتر میتوانید از این فرمان استفاده کنید:
ssh-keygen -t ed25519
اگر نام فایل موجود بود، آن را بدون بررسی جایگزین نکنید. برای کلید خصوصی عبارت محافظ انتخاب کنید و فقط فایل عمومی با پسوند .pub را از مسیر معتبر به سرور بدهید. قبل از بستن ورود با رمز، اتصال با کلید را در پنجرهٔ دوم امتحان کنید و نشست فعلی را باز نگه دارید.
تنظیمات sshd_config و فایلهای تکمیلی میتوانند روی روش ورود اثر بگذارند. راهنمای رسمی Ubuntu توصیه میکند قبل از راهاندازی مجدد، تنظیمات با sudo sshd -t بررسی شوند. اگر تنها راه دسترسی SSH است، تغییر فایروال یا روش ورود باید همراه مسیر کنسول و امکان بازگشت انجام شود.
رفع خطاهای متداول
| خطا | معنی احتمالی | بررسی بعدی |
|---|---|---|
| Connection timed out | مسیر شبکه یا فایروال پاسخ نمیدهد | IP، پورت، فایروال میزبان و شبکهٔ دیگر |
| Connection refused | روی آن مقصد اتصال پذیرفته نمیشود | سرویس SSH و پورت واقعی از کنسول |
| Permission denied | احراز هویت پذیرفته نشده | کاربر، رمز، کلید و روش مجاز ورود |
| Could not resolve hostname | نام دامنه حل نشده | تایپ آدرس و DNS؛ با IP آزمون بگیرید |
| REMOTE HOST IDENTIFICATION HAS CHANGED | کلید میزبان با ذخیرهٔ قبلی فرق دارد | نصب مجدد یا تغییر میزبان را با ارائهدهنده تطبیق دهید |
چرا sudo رمز میخواهد؟ این مرحله مربوط به اجازهٔ اجرای فرمان مدیریتی است. ورود موفق به SSH الزاماً یعنی حساب شما همهٔ مجوزها را دارد نیست.
اگر اتصال قطع شود برنامه هم بسته میشود؟ برنامهٔ وابسته به نشست ممکن است متوقف شود. سرویس دائمی را با روش مدیریت سرویس مناسب اجرا کنید؛ بازگذاشتن یک پنجرهٔ SSH جایگزین سرویس پایدار نیست.
اگر مسئله فضای دیسک است، قبل از پاککردن فایلها آموزش بررسی پرشدن هارد را بخوانید.
این راهنما چقدر مفید بود؟
هر حساب یک امتیاز از صفر تا پنج دارد؛ میتوانی امتیازت را تغییر بدهی.
برای ثبت امتیاز و دیدگاه وارد حساب شو
