SSH (Secure Shell) پروتکلی رمزگذاریشده است که با آن از راه دور و از طریق خط فرمان سرور را مدیریت میکنید. برای وصل شدن به یک سرور لینوکس فقط آدرس IP، نام کاربری (معمولاً root) و رمز یا کلید SSH لازم است و با فرمان ssh root@IP در ترمینال وصل میشوید. پورت پیشفرض آن ۲۲ است.
SSH دقیقاً چه کاری میکند؟
SSH یک کانال رمزگذاریشده بین کامپیوتر شما و سرور میسازد. رمز عبور و فرمانهایی که میفرستید در مسیر قابل خواندن نیستند، برخلاف پروتکل قدیمی Telnet. علاوه بر خط فرمان، با SSH میشود فایل منتقل کرد (SFTP و scp) و ترافیک را تونل کرد.
چه اطلاعاتی لازم دارم؟
- آدرس IP سرور
- نام کاربری، که روی بیشتر سرورهای لینوکس تازه root است
- رمز عبور یا یک جفت کلید SSH
- شمارهٔ پورت، اگر عوض نشده باشد ۲۲
سرور ویندوز از SSH استفاده نمیکند و با Remote Desktop (RDP) روی پورت ۳۳۸۹ وصل میشوید.
چطور از ویندوز وصل شوم؟
ویندوز ۱۰ و ۱۱ کلاینت OpenSSH دارند. PowerShell یا Command Prompt را باز کنید و بزنید:
ssh root@203.0.113.10بهجای آدرس نمونه، IP سرور خودتان را بنویسید. بار اول دربارهٔ اثر انگشت سرور میپرسد؛ yes بزنید. سپس رمز را وارد کنید (هنگام تایپ چیزی نمایش داده نمیشود). کلاینتهای گرافیکی مانند PuTTY هم همین کار را میکنند.
چطور از مک یا لینوکس وصل شوم؟
برنامهٔ Terminal را باز کنید و همان فرمان را بزنید. ssh روی هر دو نصب است.
کلید SSH چیست و چرا بهتر از رمز است؟
کلید SSH یک جفت فایل است: کلید خصوصی که فقط نزد شماست و کلید عمومی که روی سرور میگذارید. رمز حدسزدنی است، ولی کلید خصوصی عملاً قابل حدسزدن نیست. ساختن و نصب آن:
ssh-keygen -t ed25519
ssh-copy-id root@203.0.113.10بعد از آن بدون رمز وارد میشوید. کلید خصوصی را به کسی ندهید. برای سختتر کردن ورود از امنیت سرور لینوکس استفاده کنید.
خطاهای رایج و راهحل
- Connection timed out: سرور هنوز در حال راهاندازی است، IP اشتباه است، یا فایروال پورت ۲۲ را بسته است.
- Connection refused: سرویس SSH روی سرور اجرا نمیشود یا پورت دیگری دارد.
- Permission denied: رمز یا کاربر اشتباه است، یا ورود با رمز غیرفعال شده است.
- REMOTE HOST IDENTIFICATION HAS CHANGED: سرور عوض یا دوباره نصب شده؛ اگر مطمئنید، ورودی قدیمی را با
ssh-keygen -R IPپاک کنید.
اگر هیچکدام جواب نداد، کنسول وب ارائهدهنده (در صورت وجود) راه ورود اضطراری است.
نکات امنیتی هنگام استفاده از SSH
- اثر انگشت سرور را بار اول بررسی کنید، بهخصوص اگر از مسیر ناامن وصل میشوید.
- برای کلید خصوصی عبارت عبور (passphrase) بگذارید تا اگر فایل دزدیده شد، بیفایده باشد.
- پس از راهاندازی کلید، ورود با رمز را ببندید و ورود مستقیم root را غیرفعال کنید؛ مراحل در امنیت سرور لینوکس است.
- هیچوقت کلید خصوصی یا رمز را در چت و ایمیل نفرستید.
چند ترفند کاربردی
- انتقال فایل: با
scp file.txt root@IP:/root/فایل را به سرور بفرستید. - فایل config: در
~/.ssh/configبرای هر سرور یک نام کوتاه تعریف کنید تا فقطssh myserverبزنید. - ماندن اتصال: اگر نشست قطع میشود، از
tmuxیاscreenاستفاده کنید تا برنامهها با قطع اتصال متوقف نشوند. - پورت دیگر: اگر SSH روی پورت دیگری است، با
ssh -p 2222 root@IPوصل شوید.
اینها پایهٔ کار روزمره با سرور هستند و بعد از یک ساعت تمرین عادی میشوند.
اگر هنوز سرور ندارید
کلوداسنپ سرور لینوکس را با ورود root از طریق SSH تحویل میدهد و اطلاعات ورود را در ربات و پنل وب نشان میدهد؛ اگر رمز در پیام نباشد، گزینهٔ «رمز عبور» در صفحهٔ سرور آن را نشان میدهد. کنسول وب برای سرورهایی که پشتیبانی کنند هست. اگر نمیدانید VPS چیست، این مقاله را ببینید و برای شروع ربات را باز کنید.
جمعبندی
برای وصل شدن به سرور لینوکس سه چیز لازم است: IP، کاربر و رمز یا کلید. با فرمان ssh از ترمینال هر سه سیستمعامل وصل میشوید. ورود با کلید امنتر است و بهتر است ورود با رمز را بعد از راهاندازی کلید ببندید. اگر خطایی دیدید، پیام خطا معمولاً نشان میدهد مشکل از شبکه، سرویس یا رمز است.
پرسشهای پرتکرار
آیا SSH امن است؟
بله، به شرط اینکه رمز قوی یا بهتر کلید SSH داشته باشید و سرور را بهروز نگه دارید.
پورت SSH چیست؟
پورت پیشفرض ۲۲ است. تغییر آن امنیت واقعی نمیآورد ولی از بخشی از اسکنهای خودکار جلوگیری میکند.
چطور از گوشی به سرور وصل شوم؟
اپلیکیشنهای SSH مثل Termius یا JuiceSSH این کار را انجام میدهند.
SSH با SFTP چه فرقی دارد؟
SFTP برای انتقال فایل از همان کانال SSH استفاده میکند.
برای ویندوز چه کنم؟
سرور ویندوز را با Remote Desktop روی پورت ۳۳۸۹ و کاربر Administrator وصل میشوید.
