آموزش اتصال به سرور مجازی لینوکس با SSH
اولین کاری که بعد از تحویل سرور لینوکس انجام میدهید اتصال به آن است. این آموزش اتصال از ویندوز، مک و لینوکس، ساخت کلید SSH و بستن ورود با رمز را قدمبهقدم توضیح میدهد.
بعد از تحویل سرور، آدرس IP و رمز عبور کاربر root در حساب کاربری شما نمایش داده میشود. با همین دو تا وصل میشوید.
اتصال اول
روی ویندوز 10 و بالاتر، مک و لینوکس، دستور ssh از قبل نصب است. در PowerShell یا ترمینال بنویسید:
ssh root@203.0.113.10
به جای 203.0.113.10 آدرس سرور خودتان را بگذارید. اولین بار این پیام را میبینید:
The authenticity of host '203.0.113.10' can't be established.
ED25519 key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no/[fingerprint])?
این یعنی کامپیوتر شما این سرور را نمیشناسد. yes بنویسید و اینتر بزنید؛ اثر انگشت سرور ذخیره میشود و دفعات بعد پرسیده نمیشود. اگر بعداً همین پیام دوباره ظاهر شد و شما سرور را عوض نکرده بودید، وصل نشوید و اول بررسی کنید چه اتفاقی افتاده.
بعد رمز عبور پرسیده میشود. هنگام تایپ، چیزی روی صفحه نمایش داده نمیشود — نه ستاره، نه نشانگر. این رفتار عادی است.
اولین کار: عوض کردن رمز عبور
رمزی که همراه سرور تحویل داده شده در جایی تولید و منتقل شده است. اولین کار بعد از ورود، عوض کردنش است:
passwd
رمز جدید را دو بار میپرسد و باز هم چیزی نمایش نمیدهد.
ورود با کلید، به جای رمز
رمز عبور را میشود حدس زد و سرورهایی که روی اینترنتاند، مداوم آزمایش میشوند. کلید SSH این مشکل را ندارد.
1. کلید بسازید — روی کامپیوتر خودتان، نه روی سرور
ssh-keygen -t ed25519 -C "you@example.com"
محل ذخیره را میپرسد؛ اینتر بزنید تا مقدار پیشفرض استفاده شود. بعد عبارت عبور میخواهد — یک عبارت بگذارید. این عبارت از کلید شما محافظت میکند اگر کامپیوترتان به دست کس دیگری بیفتد.
نتیجه دو فایل است:
~/.ssh/id_ed25519— کلید خصوصی. این را هرگز و به هیچکس ندهید.~/.ssh/id_ed25519.pub— کلید عمومی. این همانی است که روی سرور میرود.
2. کلید عمومی را روی سرور بگذارید
روی مک و لینوکس:
ssh-copy-id root@203.0.113.10
روی ویندوز، اگر ssh-copy-id ندارید، محتوای فایل کلید عمومی را بخوانید و به فایل ~/.ssh/authorized_keys روی سرور اضافه کنید.
3. آزمایش کنید
یک پنجره ترمینال جدید باز کنید — پنجره فعلی را نبندید — و دوباره وصل شوید:
ssh root@203.0.113.10
اگر به جای رمز سرور، عبارت عبور کلید پرسیده شد، کلید کار میکند.
4. ورود با رمز را ببندید
این کار را فقط بعد از اینکه مطمئن شدید ورود با کلید کار میکند انجام دهید. اگر کلید درست تنظیم نشده باشد و ورود با رمز را ببندید، دیگر نمیتوانید وارد سرور شوید.
روی سرور فایل /etc/ssh/sshd_config را باز کنید و این خط را پیدا یا اضافه کنید:
PasswordAuthentication no
و سرویس را دوباره بارگذاری کنید:
systemctl reload ssh
روی توزیعهای خانواده RHEL مثل AlmaLinux و Rocky نام سرویس
sshd است، نه ssh. اگر پیام
Unit ssh.service not found گرفتید، همان دستور را با
sshd اجرا کنید.
پنجره ترمینال فعلی را هنوز نبندید. یک پنجره جدید باز کنید و اتصال را آزمایش کنید. اگر کار کرد، کار تمام است؛ اگر نکرد، از همان پنجره باز تنظیم را برگردانید.
انتقال فایل
با scp:
scp file.txt root@203.0.113.10:/root/
و در جهت مخالف:
scp root@203.0.113.10:/root/file.txt .
برای پوشههای بزرگ یا انتقالی که ممکن است قطع شود، rsync بهتر است چون از جایی که قطع شده ادامه میدهد.
اگر وصل نشد
| پیام | معنای محتمل |
|---|---|
Connection refused | سرویس SSH روی سرور بالا نیست یا پورت بسته است |
Connection timed out | بستهها به سرور نمیرسند؛ آدرس یا مسیر شبکه را بررسی کنید |
Permission denied (publickey) | ورود با رمز بسته است و کلید شما پذیرفته نشده |
REMOTE HOST IDENTIFICATION HAS CHANGED | اثر انگشت سرور عوض شده؛ اگر سرور را نصب مجدد نکردهاید، وصل نشوید و بررسی کنید |
اگر سرور را نصب مجدد کردهاید، پیام آخر طبیعی است و با حذف ورودی قدیمی برطرف میشود:
ssh-keygen -R 203.0.113.10
قدم بعدی
حالا که وصل شدهاید، بعد از خرید سرور مجازی چه کارهایی انجام دهیم بقیه کارهای اولیه — بهروزرسانی، ساخت کاربر غیر root و دیواره آتش — را توضیح میدهد.
اگر هنوز سرور نگرفتهاید و بین لینوکس و ویندوز مردد هستید، مقایسه این دو را ببینید. پلنهای قابل سفارش با لینوکس هم در سرور مجازی لینوکس فهرست شدهاند.