در این درس میخوانید
از لپتاپ تا پوستهٔ سرور چه اتفاقی میافتد؟
وقتی ترمینال لپتاپ را باز میکنید، فرمانها معمولاً روی همان لپتاپ اجرا میشوند. با SSH میتوانید یک نشست روی رایانهٔ دیگری بگیرید. مثلاً فایل پروژه در VPS است، اما شما از ویندوز فرمان بررسی پوشه را میفرستید. کلاینت دستور را از کانال رمزگذاریشده منتقل میکند و نتیجهٔ اجرای آن روی سرور برمیگردد. این اتصال بهخودیخود رابط گرافیکی دسکتاپ ایجاد نمیکند.
کلاینت، سرور، نام کاربری و پورت
- کلاینت: برنامهٔ اتصال روی دستگاه شما؛ مانند OpenSSH، PuTTY یا Bitvise SSH Client.
- سرور SSH: سرویس دریافتکنندهٔ اتصال روی دستگاه مقصد؛ در لینوکس اغلب OpenSSH Server.
- میزبان: نام دامنه یا IP مقصد؛ وجود نام دامنه برای SSH اجباری نیست.
- پورت: شمارهٔ ورودی سرویس؛ مقدار متداول SSH برابر 22 است، اما باید مقدار واقعی را از مدیر بگیرید.
- نام کاربری: حساب موجود روی سیستم مقصد؛ با ایمیل پنل خرید VPS الزاماً یکسان نیست.
نصب کلاینت روی ویندوز، سرویس SSH را روی VPS نصب یا فعال نمیکند. برعکس، نصب سرویس روی مقصد هم جای داشتن برنامهٔ اتصال در دستگاه شما را نمیگیرد. برای این درس فرض میکنیم مدیر سرور سرویس و حساب مجاز را از قبل آماده کرده است.
نمونهٔ اتصال با OpenSSH
این فرمان در ترمینال دستگاه مبدأ نوشته میشود. example.com دامنهٔ نمونه است؛ پیش از اجرا آن و نام student را با اطلاعات ماشین آزمایشی خود جایگزین کنید. گزینهٔ p کوچک پورت SSH را تعیین میکند.
ssh -p 22 student@example.comاثر انگشت میزبان را از کجا بیاوریم؟
در اتصال نخست، کلاینت معمولاً کلید عمومی میزبان را نمیشناسد و اثر انگشت آن را نمایش میدهد. اثر انگشت SHA-256 را کامل با مقداری که از مسیر مستقلی مانند کنسول معتبر ارائهدهنده یا مدیر شناختهشده دریافت کردهاید مقایسه کنید. صرف دیدهشدن یک پیام یا یکسانبودن چند حرف اول، هویت مقصد را ثابت نمیکند. اگر مقدار قابل اعتماد ندارید، بررسی را متوقف کنید و آن را دریافت کنید.
پس از تأیید معتبر، کلاینت میتواند کلید میزبان را به خاطر بسپارد. هشدار تغییر کلید در اتصال بعدی نیاز به بررسی دارد: نصب دوبارهٔ سیستم ممکن است علت مشروعی باشد، اما تغییر مسیر اتصال نیز ممکن است. پاککردن سابقه یا خاموشکردن بررسی کلید، علت را حل نمیکند.
کلید میزبان با کلید ورود کاربر فرق دارد
کلید میزبان به کلاینت کمک میکند سرور درست را بشناسد. جفتکلید کاربر برای اثبات هویت شما به سرور است. کلید عمومی کاربر میتواند طبق سیاست مدیر روی سرور ثبت شود؛ کلید خصوصی و عبارت محافظ آن باید نزد خودتان بماند. رمز ورود حساب نیز با عبارت محافظ کلید خصوصی دو مفهوم جداست. در این مرحله تنظیم سیاست ورود یا غیرفعالکردن روشهای موجود لازم نیست.
بعد از ورود، اول محیط را بشناسید
whoami
hostname
pwd
exitسه فرمان اول نام کاربر، نام دستگاه و پوشهٔ فعلی را نشان میدهند. exit نشست جاری را میبندد و معمولاً شما را به پوستهٔ مبدأ برمیگرداند. پیش از هر تغییر فایل، نام میزبان و مسیر را بررسی کنید تا فرمان را در دستگاه اشتباه اجرا نکنید.
سه خانوادهٔ خطای رایج
- Timeout: ممکن است مسیر شبکه، آدرس، پورت یا فایروال مانع پاسخ شده باشد؛ رمز را عوض نکنید تا ابتدا مسیر بررسی شود.
- Connection refused: معمولاً در مقصد یا مسیر میانی، اتصال به آن پورت پذیرفته نشده است؛ سرویس و پورت نیاز به بررسی دارند.
- Permission denied: مرحلهٔ احراز هویت موفق نشده؛ نام کاربر، روش ورود و مجازبودن کلید را بررسی کنید، نه اینکه مجوز همهٔ فایلها را باز کنید.
تمرین با پاسخ راهنما
دانشجو میگوید «نام کاربری پنل خرید را وارد کردم و Permission denied گرفتم». چه چیزی را اول بررسی میکنید؟ پاسخ: حساب واقعی سیستمعامل مقصد و روش احراز هویت مجاز. سپس توضیح دهید چرا تأیید اثر انگشت قبل از ارسال رمز اهمیت دارد. برای تمرین نیازی به ارسال رمز یا کلید خصوصی برای مدرس ندارید.
ادامهٔ مسیر و منابع انگلیسی
درس قبل: https://www.darsavand.com/resources/linux-users-root-sudo-file-permissions
درس بعد، اتصال در ویندوز با PuTTY است. متن با بیان آموزشی مستقل از مستندات اصلی تدوین شده است.
OpenSSH، راهنمای کلاینت: https://man.openbsd.org/ssh
Ubuntu، OpenSSH Server: https://ubuntu.com/server/docs/how-to/security/openssh-server/
Bitvise، تفاوت کلیدهای SSH: https://bitvise.com/public-keys-in-ssh
پیشنیاز و محیط اجرای مثالها
درس 6 از ۱۰ در مسیر مقدماتی لینوکس و مفاهیم سرور. درسهای VPS، ترمینال و حساب کاربری را خوانده باشید. برای تمرین عملی فقط به ماشین آزمایشی خود یا سروری که اجازهٔ استفاده از آن را دارید متصل شوید.
پیشرفت روی همین مرورگر ذخیره میشود.