آموزش اتصال به سرور لینوکس با SSH (صفر تا صد)
نخستین مهارت لازم بعد از تحویل سرور: اتصال با SSH. از ورود با رمز شروع میکنیم، کلید میسازیم و در پایان خطاهای رایج را رفع میکنیم.
بعد از تحویل سرور، نخستین کاری که باید یاد بگیرید اتصال به سرور با SSH است. SSH یک تونل رمزنگاریشده است که خط فرمان سرور را در کامپیوتر شما باز میکند. در این آموزش از صفر پیش میرویم: اتصال با رمز، ساخت کلید، بستن ورود با رمز و رفع خطاهای رایج.
پیشنیازها
- آیپی سرور، نام کاربری (معمولاً
root) و رمز اولیه — همه در پنل و ایمیل تحویل سرور هست. - یک ترمینال: در ویندوز ۱۰ و ۱۱، PowerShell؛ در مک و لینوکس، Terminal.
نخستین اتصال
دستور زیر را بزنید و IP را با آیپی سرور خودتان عوض کنید:
ssh root@IP
اولین بار پیامی درباره اثر انگشت سرور میبینید؛ yes را بزنید. بعد رمز را وارد کنید. توجه کنید که رمز هنگام تایپ نمایش داده نمیشود — این طبیعی است.
اگر پورت SSH سرورتان عوض شده باشد:
ssh -p 2222 root@IP
ورود با کلید، نه با رمز
ورود با رمز دو مشکل دارد: باید هر بار تایپش کنید و رباتهای اینترنت شبانهروز رمزهای رایج را امتحان میکنند. ورود با کلید، هر دو را حل میکند.
۱) ساخت کلید روی کامپیوتر خودتان
ssh-keygen -t ed25519 -C "laptop-man"
کلید در ~/.ssh/id_ed25519 (خصوصی) و ~/.ssh/id_ed25519.pub (عمومی) ساخته میشود.
۲) فرستادن کلید عمومی به سرور
ssh-copy-id root@IP
اگر ssh-copy-id نداشتید، دستی هم میشود:
cat ~/.ssh/id_ed25519.pub | ssh root@IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
۳) آزمایش
ssh root@IP
اگر بدون پرسیدن رمز وارد شدید، کار تمام است.
بستن ورود با رمز
وقتی مطمئن شدید ورود با کلید کار میکند، فایل تنظیمات را باز کنید:
nano /etc/ssh/sshd_config
این دو خط را به این شکل درآورید:
PasswordAuthentication no
PermitRootLogin prohibit-password
سپس سرویس را ریاستارت کنید:
systemctl restart ssh
ترمینال فعلی را نبندید تا در یک پنجره تازه ورود را آزمایش کنید. اگر مشکلی بود، از همان پنجره باز تنظیمات را برمیگردانید.
فایل config: اتصال با یک کلمه
روی کامپیوتر خودتان فایل ~/.ssh/config را بسازید:
Host pm
HostName 1.2.3.4
User root
Port 22
IdentityFile ~/.ssh/id_ed25519
از این به بعد فقط ssh pm کافی است.
انتقال فایل
برای فرستادن و گرفتن فایل از scp استفاده کنید:
scp backup.tar.gz root@IP:/root/
scp root@IP:/var/log/nginx/error.log .
برای همگامسازی پوشههای بزرگ، rsync بهتر است چون فقط تفاوتها را منتقل میکند:
rsync -avz --progress ./site/ root@IP:/var/www/site/
خطاهای رایج و راهحل
Connection timed out — اتصال به سرور برقرار نمیشود. سه علت رایج: سرور خاموش است، فایروال پورت ۲۲ را بسته، یا آیپی از داخل ایران باز نمیشود. حالت سوم شایع است؛ در این مقاله درباره فیلتر شدن آیپی و تعویضش نوشتهایم.
Permission denied (publickey) — سرور فقط کلید میپذیرد و کلید شما را ندارد. با رمز وارد شوید (اگر باز است) و کلید را دوباره بفرستید.
REMOTE HOST IDENTIFICATION HAS CHANGED — معمولاً یعنی سرور را دوباره نصب کردهاید یا آیپی عوض شده. خط قدیمی را پاک کنید:
ssh-keygen -R IP
Too many authentication failures — ترمینال شما چند کلید را پشت سر هم امتحان میکند. کلید را مشخص کنید:
ssh -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes root@IP
قدم بعدی
وقتی اتصال با کلید جا افتاد، سراغ امنسازی بروید: کاربر غیرروت بسازید، فایروال را روشن کنید و بهروزرسانیهای امنیتی را خودکار کنید. همه اینها را در امنسازی سرور اوبونتو در ۱۰ قدم آوردهایم. مستندات رسمی OpenSSH هم برای تنظیمات پیشرفتهتر مرجع خوبی است: openssh.com/manual.html.
اگر هنوز سرور ندارید، در کمتر از یک دقیقه میتوانید یکی بسازید و همین آموزش را روی آن تمرین کنید.
پرسشهای پرتکرار
چرا رمز را که تایپ میکنم چیزی نمایش داده نمیشود؟
این رفتار عادی SSH است؛ برای امنیت، رمز هنگام تایپ نشان داده نمیشود. رمز را کامل بنویسید و Enter بزنید.
خطای Connection timed out یعنی چه؟
یعنی اتصال به سرور برقرار نشد. سه علت رایج دارد: سرور خاموش است، فایروال پورت SSH را بسته، یا آیپی سرور از داخل ایران در دسترس نیست. از پنل وضعیت سرور و دسترسپذیری آیپی را بررسی کنید.
کلید SSH امنتر است یا رمز؟
کلید SSH بسیار امنتر است. رمزها را میتوان با حمله حدس زدن امتحان کرد، ولی کلید ۲۵۶ بیتی عملاً قابل حدس زدن نیست. بعد از فعال کردن کلید، ورود با رمز را ببندید.
تیم فنی پاسارگاد میزبان
مهندسی زیرساخت
ما هر روز سرور میسازیم، نگه میداریم و مشکلهایشان را حل میکنیم؛ این مقالهها خلاصه همان تجربه روزمره است.
سرور ساعتی ایران و خارج، در کمتر از یک دقیقه
پرداخت ساعتی به تومان، آیپی تستشده از ایران و تعویض آدرس با یک کلیک. ثبتنام رایگان است و همین حالا میتوانید سرورتان را بسازید.
ساخت سرور ساعتیمقالههای مرتبط
امنسازی سرور اوبونتو در ۱۰ قدم
سرور تازه از دقیقه اول هدف اسکنهای خودکار است. این ده قدم، بیش از ۹۰ درصد این حملهها را بیاثر میکند.
چرا آیپی سرور از ایران باز نمیشود و چطور عوضش کنیم؟
سرور روشن است و سرویس بالاست، ولی از ایران باز نمیشود. اول مطمئن شوید مشکل از آیپی است، بعد سراغ راهحلها بروید.
سرور ابری چیست و چه تفاوتی با سرور مجازی دارد؟
سرور ابری همان سرور مجازی است با زیرساخت و ابزارهای بهتر: تحویل خودکار، پرداخت ساعتی و ارتقای منابع بدون مهاجرت. تفاوتها را دقیق مرور میکنیم.
آخرین بازبینی این مقاله: