لینوکس

آموزش اتصال به سرور با SSH در ویندوز، لینوکس و مک

راهنمای اولین اتصال به سرور لینوکسی با SSH؛ از دستور ورود و بررسی هویت تا استفاده از کلید، خروج و تشخیص خطاهای رایج.

رایکت رایکت ۸ دقیقه مطالعه ۰ دیدگاه
آموزش اتصال به سرور با SSH در ویندوز، لینوکس و مک

برای اتصال به سرور با SSH، ترمینال را باز کنید و دستور ssh username@server را با نام کاربری و آدرس واقعی سرور اجرا کنید. اگر پورت سرویس متفاوت است، آن را با -p مشخص کنید. پیش از واردکردن رمز یا استفاده از کلید، هویت سرور را بررسی کنید؛ سپس با روش ورود مجازِ همان حساب وارد شوید.

این آموزش برای اولین اتصال به سرور لینوکسی با SSH فعال است؛ از ویندوز، لینوکس یا مک می‌توانید به آن وصل شوید. اگر تازه یک سرور مجازی (VPS) تهیه کرده‌اید، این راهنما قدم اول دسترسی به خط فرمان آن است. نصب سرویس روی سرور، تغییر فایروال و ساخت کلید جدید، موضوع این راهنما نیست. داشتن هاست یا دسترسی سی‌پنل به‌تنهایی به معنی داشتن SSH نیست.

۱. SSH چیست و چه چیزی لازم داریم؟

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

  • آدرس: IP یا نام میزبانِ مخصوص SSH؛ آدرس صفحهٔ ورود سی‌پنل را جای آن نگذارید.
  • حساب مجاز: نام کاربری سرور و رمز یا کلید مربوط به همان حساب؛ نام کاربری وردپرس الزاماً کاربردی ندارد.
  • پورت: مقدار اعلام‌شده توسط مدیر سرور؛ پیش‌فرض معمول SSH پورت 22 است.
  • اثر انگشت سرور: fingerprint معتبر از پنل قابل‌اعتماد یا مدیر سرور، برای تطبیق اولین اتصال.

قبل از شروع: در تمام مثال‌ها، 203.0.113.10 و نام student مقادیر آموزشی‌اند. این IP مقصد قابل‌استفاده برای تمرین نیست؛ اطلاعات سرویس خودتان را جایگزین کنید. رمز را داخل دستور ننویسید.

۲. ترمینال را در سیستم خود باز کنید

سیستم شما محل اجرای دستور
ویندوز PowerShell یا یک زبانهٔ PowerShell در Windows Terminal
لینوکس برنامهٔ Terminal در محیط دسکتاپ
مک برنامهٔ Terminal در پوشهٔ Utilities

ابتدا وجود برنامهٔ SSH را بررسی کنید:

ssh -V

اگر شمارهٔ نسخهٔ OpenSSH نمایش داده شد، کلاینت در دسترس است. پیام «دستور شناخته نشد» یعنی هنوز به مرحلهٔ اتصال نرسیده‌اید؛ ابتدا نصب یا مسیر کلاینت را بررسی کنید. در ویندوز به OpenSSH Client نیاز دارید، نه فعال‌کردن OpenSSH Server روی کامپیوترتان. راهنمای SSH در Windows Terminal و اتصال از Terminal مک مراجع رسمی این بخش‌اند.

۳. دستور اتصال را با اطلاعات درست بسازید

برای نمونه، اگر مدیر سرور حساب student را روی پورت پیش‌فرض در اختیار شما گذاشته باشد:

ssh student@203.0.113.10

اگر پورت اعلام‌شده 2222 باشد:

ssh -p 2222 student@203.0.113.10
جزء دستور معنی
ssh اجرای برنامهٔ اتصال
student حساب مقصد؛ لزوماً نام کاربری کامپیوتر شما نیست
203.0.113.10 آدرس نمونهٔ مقصد
-p 2222 انتخاب پورت اتصال؛ حرف p کوچک است

جلوی آدرس https:// نگذارید و پورت وب یا سی‌پنل را حدس نزنید. گزینهٔ -p فقط به کلاینت می‌گوید به کدام پورت وصل شود؛ پورت سرور را تغییر نمی‌دهد. قالب دستور و گزینه‌ها در راهنمای رسمی ssh تعریف شده‌اند.

۴. هویت سرور را قبل از ورود بررسی کنید

در اولین اتصال ممکن است پیامی شامل اثر انگشت و درخواست تأیید اعتماد ببینید. این پیام صرفاً به این معنی نیست که مقصد حتماً درست است. ترتیب کار:

  1. نام میزبان یا IP و پورت را با اطلاعات سرویس تطبیق دهید.
  2. نوع کلید و fingerprint نمایش‌داده‌شده را با مقداری که از یک مسیر قابل‌اعتماد گرفته‌اید مقایسه کنید.
  3. فقط در صورت تطبیق، در پیام تأیید OpenSSH پاسخ yes بدهید و Enter بزنید. در غیر این صورت با Ctrl+C اتصال را لغو و از مدیر سرور پیگیری کنید.

OpenSSH کلید میزبان را معمولاً در known_hosts نگه می‌دارد. اگر بعداً پیام REMOTE HOST IDENTIFICATION HAS CHANGED دیدید، ممکن است سرور دوباره نصب شده باشد یا به مقصد دیگری رسیده باشید؛ تا علت و fingerprint جدید تأیید نشده، ادامه ندهید. مرجع رفتار بررسی هویت: گزینهٔ StrictHostKeyChecking.

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

اگر مدیر سرور تغییر کلید را تأیید کرد و اثر انگشت جدید را از مسیری مستقل بررسی کردید، می‌توانید فقط رکورد قدیمیِ همان مقصد و پورت را از فهرست شناخته‌شده‌ها بردارید؛ برای مثال:

ssh-keygen -R "[203.0.113.10]:2222"

در اتصال بعدی دوباره اثر انگشت جدید را بررسی کنید. این دستور مجوز نادیده‌گرفتن هشدار امنیتی نیست و برای پورت ۲۲ معمولاً کافی است به‌جای عبارت داخل کروشه، خود نام میزبان یا IP را بنویسید.

۵. با رمز یا کلید مجاز وارد شوید

ورود با رمز

اگر سرور ورود با رمز را برای حساب شما مجاز کرده باشد، پس از تأیید هویت از شما رمز می‌خواهد. هنگام تایپ در ترمینال معمولاً نه حرف و نه ستاره دیده می‌شود؛ این رفتار طبیعی است. رمز همان حساب را وارد و Enter بزنید. درخواست رمز کلید یا passphrase با رمز حساب سرور فرق دارد.

ورود با کلید از قبل آماده

اگر کلید عمومی شما قبلاً برای حساب مقصد مجاز شده، فایل کلید خصوصی متناظر را با -i معرفی کنید. در این مثال فایل کلید باید واقعاً در مسیر نوشته‌شده موجود باشد:

ssh -i ./server_key -p 2222 student@203.0.113.10

./server_key یعنی فایلی به این نام در پوشهٔ جاری. مسیر واقعی فایل را جایگزین کنید؛ اگر فاصله دارد داخل گیومه بگذارید. کلید خصوصی را برای پشتیبانی ارسال نکنید. استفاده از کلید به‌خودی‌خود مجوز ورود ایجاد نمی‌کند؛ تنظیم سمت سرور نیز باید صحیح باشد. دربارهٔ تفاوت کلید عمومی و خصوصی، راهنمای احراز هویت با کلید مایکروسافت را ببینید.

۶. اتصال موفق و خروج را تشخیص دهید

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

whoami
hostname

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

پس از پایان کار، برای خروج از شل فعلی بنویسید:

exit

اگر اتصال کاملاً گیر کرده باشد، در نشست تعاملی OpenSSH با تنظیم پیش‌فرض می‌توانید Enter بزنید و سپس ~. را تایپ کنید تا اتصال قطع شود. بستن نشست را جایگزین پایان درست یک عملیات طولانی نکنید.

۷. اگر SSH وصل نشد، از متن خطا شروع کنید

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

پیام یا نشانه بررسی بعدی
Connection timed out IP، پورت، مسیر شبکه و محدودیت دسترسی را بررسی کنید؛ مدیر سرور وضعیت سرویس و فایروال را کنترل کند.
Connection refused ممکن است روی پورت انتخابی سرویسی گوش ندهد یا اتصال رد شود؛ پورت صحیح و وضعیت SSH را از مدیر بپرسید.
Permission denied حساب، روش احراز هویت و رمز یا کلید را بررسی کنید. اگر فقط publickey ذکر شده، تکرار رمز راه‌حل نیست.
Could not resolve hostname املای نام میزبان و DNS را بررسی کنید؛ آدرس وب را به‌جای نام میزبان وارد نکرده باشید.
Host key verification failed کلید میزبان یا رکورد قبلیِ known_hosts را بررسی کنید. تا تأیید مستقل اثر انگشت، بررسی کلید میزبان را غیرفعال نکنید.
هشدار تغییر کلید میزبان توقف و تأیید هویت مقصد؛ هشدار را دور نزنید.

برای مشاهدهٔ جزئیات بیشتر، روی مقصدی که مجاز به دسترسی به آن هستید از -v استفاده کنید. گزینهٔ -v صرفاً گزارش فنی اتصال را بیشتر می‌کند و مشکل را خودکار رفع نمی‌کند:

ssh -v -p 2222 student@203.0.113.10

برای درخواست کمک، متن خطا، زمان رخداد و مرحله‌ای که اتصال متوقف شده کافی‌تر از عبارت «وصل نمی‌شود» است. خروجی عیب‌یابی می‌تواند نام کاربری، IP و مسیر فایل‌ها را نشان دهد؛ پیش از اشتراک‌گذاری، اطلاعات خصوصی را حذف یا در تصویر کاملاً ناخوانا کنید. فایروال را برای آزمایش خاموش نکنید.

۸. پرسش‌های رایج دربارهٔ اتصال SSH

آیا هر هاست سی‌پنل SSH دارد؟

خیر. فعال‌بودن این دسترسی به تنظیم میزبان و سرویس شما بستگی دارد؛ حتی وجود ابزار مدیریت کلید به‌تنهایی کافی نیست. مستند SSH Access سی‌پنل این محدودیت را توضیح می‌دهد. پیش از تلاش برای اتصال، دسترسی سرویس را تأیید کنید. برای آشنایی با تفاوت پنل مدیریت هاست و دسترسی خط فرمان، سی‌پنل چیست؟ را بخوانید؛ برای انتخاب روش مناسب استقرار پروژه هم محدودیت‌های هاست اشتراکی برای برنامه‌نویسی را ببینید.

برای اتصال از ویندوز به لینوکس حتماً PuTTY لازم است؟

خیر؛ اگر OpenSSH Client روی ویندوز در دسترس باشد، دستورهای این راهنما در PowerShell قابل‌استفاده‌اند. سیستم‌عامل کامپیوتر شما لازم نیست با مقصد یکی باشد.

رمز سی‌پنل یا وردپرس را وارد کنم؟

فقط اطلاعات حسابی را وارد کنید که مدیر سرور برای SSH اعلام کرده است. از یکسان‌بودن نام‌ها، مشترک‌بودن حساب و رمز را نتیجه نگیرید.

قدم بعدی: اگر هدف شما فقط دریافت کد پروژه روی هاست است، ابتدا بررسی کنید آیا ابزار Git در سی‌پنل نیازتان را برطرف می‌کند. اگر مدیریت سرور لازم دارید، پیش از هر تغییر مدیریتی از مقصد و سطح دسترسی خود مطمئن شوید.

این مطلب برایتان مفید بود؟
رایکت
نوشته شده توسط رایکت

تیم محتوای رایکت؛ آموزش‌ها و راهنماهای کاربردی هاست، دامنه و مدیریت سایت.

مطالب مرتبط

دیدگاه‌ها

نظر یا سوال خود را درباره این مطلب با ما در میان بگذارید

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

aapanel
cloudlinux
cpanel
directadmin
jetbackup
laravel
mysql
virtualizor
vmware
wordpress