اوبنتوسرور

راه‌اندازی اولیه سرور با اوبونتو

مقدمه

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

این آموزش روی اوبونتو 22.04 LTS، 24.04 LTS و 25.10 اعتبارسنجی شده است. دستورات از پکیج‌های پیش‌فرضی استفاده می‌کنند که در نسخه‌های میان‌دوره‌ای (Interim) فعلی و نسخه‌های آینده — که همراه پیش‌فرض‌های apt، OpenSSH و UFW عرضه می‌شوند — پایدار باقی می‌مانند.

نکات کلیدی

  • ورود به‌عنوان root: یاد بگیرید چطور برای اولین بار به‌صورت امن به سرور اوبونتوی خود دسترسی پیدا کنید.
  • ساخت یک کاربر غیر root: یک حساب کاربر معمولی با دسترسی‌های sudo اضافه کنید تا ریسک‌های امنیتیِ استفاده روزمره از root کمینه شود.
  • راه‌اندازی احراز هویت با کلید SSH: کلیدهای SSH را برای ورودهای امن و بدون رمز عبور پیکربندی کنید و کلید عمومی خود را به کاربر جدید کپی کنید.
  • پیکربندی فایروال با UFW: فایروال UFW (Uncomplicated Firewall) را فعال و تست کنید تا دسترسی‌ها محدود شوند؛ و مطمئن شوید SSH باز می‌ماند تا از قفل‌شدن خارج از سرور جلوگیری شود.
  • اعتبارسنجی دسترسی قبل از خروج از root: پیش از بستن نشست root، تأیید کنید که کاربر جدید شما می‌تواند از sudo استفاده کرده و از طریق SSH متصل شود تا از دست‌دادن دسترسی جلوگیری کنید.
  • بهترین شیوه‌ها برای محیط‌های مختلف اعمال می‌شوند: این مراحل اولیه برای ماشین‌های مجازی ابری، سرورهای مجازی پارمین کلود، VPS و سرورهای فیزیکی (Bare Metal) کاربرد دارند.

اپلیکیشن‌های خود را با پارمین کلود مستقیماً از گیت‌هاب مستقر کنید و مقیاس‌دهی اپلیکیشن را به پارمین کلود بسپارید.

فهرست مطالب

  • ورود به‌عنوان root
  • ساخت یک کاربر جدید
  • اعطای دسترسی‌های مدیریتی
  • راه‌اندازی فایروال
  • فعال‌سازی دسترسی خارجی برای کاربر معمولی

مرحله ۱ — ورود به‌عنوان root

برای ورود به سرور خود، باید IP عمومی سرور خود را بدانید. همچنین در صورتی که یک کلید SSH برای احراز هویت نصب کرده باشید، به رمز عبور یا کلید خصوصی حساب کاربر root نیاز دارید. اگر هنوز وارد سرور خود نشده‌اید، می‌توانید راهنمای «اتصال به سرورهای پارمین کلود با SSH» را دنبال کنید که این فرایند را با جزئیات پوشش می‌دهد.

اگر در حال حاضر به سرور خود متصل نیستید، با استفاده از دستور زیر به‌عنوان کاربر root وارد شوید. بخش your_server_ip دستور را با IP عمومی سرور خود جایگزین کنید:

ssh root@your_server_ip

در صورت نمایش، هشدار مربوط به اصالت هاست (Host Authenticity) را بپذیرید. اگر سرور شما از احراز هویت با رمز عبور استفاده می‌کند، رمز عبور root خود را برای ورود وارد کنید. اگر از یک کلید SSH محافظت‌شده با Passphrase استفاده می‌کنید، ممکن است لازم باشد بار اولِ استفاده از کلید در هر نشست، Passphrase را وارد کنید. اگر این اولین ورود شما به سرور با رمز عبور است، ممکن است لازم باشد رمز عبور root را هم تغییر دهید. در صورت نمایش درخواست، دستورالعمل‌های تغییر رمز عبور را دنبال کنید.

درباره root

کاربر root، کاربر مدیریتی در یک محیط لینوکسی با دسترسی‌های بالا (Elevated) است. به دلیل دسترسی‌های گسترده حساب root، توصیه می‌شود از آن به‌صورت روزمره استفاده نکنید. حساب root می‌تواند حتی به‌صورت تصادفی، تغییرات بسیار مخربی ایجاد کند.

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

مرحله ۲ — ساخت یک کاربر جدید

وقتی به‌عنوان root وارد شدید، می‌توانید حساب کاربر جدید را اضافه کنید. در آینده، به‌جای root با این حساب جدید وارد می‌شویم.

این مثال کاربر جدیدی با نام sammy می‌سازد، اما شما باید آن را با نام کاربری موردعلاقه خودتان جایگزین کنید:

adduser sammy

چند سوال از شما پرسیده می‌شود که اولین آن‌ها رمز عبور حساب است.

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

مرحله ۳ — اعطای دسترسی‌های مدیریتی

اکنون یک حساب کاربری جدید با دسترسی‌های معمولی دارید. با این حال، گاهی لازم است وظایف مدیریتی را به‌عنوان کاربر root انجام دهید.

برای جلوگیری از خروج از کاربر معمولی خود و ورود مجدد با حساب root، می‌توانید چیزی را که با عنوان دسترسی‌های Superuser یا root شناخته می‌شود، برای حساب معمولی خود راه‌اندازی کنید. این دسترسی‌ها به کاربر عادی شما اجازه می‌دهند با قرار دادن کلمه sudo قبل از دستور، آن را با دسترسی‌های مدیریتی اجرا کند.

برای افزودن این دسترسی‌ها به کاربر جدید خود، باید او را به گروه سیستمی sudo اضافه کنید. به‌صورت پیش‌فرض در اوبونتو، کاربرانی که عضو گروه sudo هستند اجازه استفاده از دستور sudo را دارند.

به‌عنوان root، این دستور را برای افزودن کاربر جدید خود به گروه sudo اجرا کنید (نام کاربری sammy را با کاربر جدید خود جایگزین کنید):

usermod -aG sudo sammy

اکنون می‌توانید وقتی با کاربر معمولی خود وارد شده‌اید، قبل از دستورات کلمه sudo را تایپ کنید تا با دسترسی‌های Superuser اجرا شوند.

مرحله ۴ — راه‌اندازی فایروال

سرورهای اوبونتو می‌توانند از فایروال UFW استفاده کنند تا مطمئن شوند فقط اتصال‌های特定的 سرویس‌ها مجاز هستند. می‌توانید با استفاده از این ابزار، یک فایروال پایه راه‌اندازی کنید.

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

اپلیکیشن‌ها می‌توانند هنگام نصب، پروفایل‌های خود را با UFW ثبت کنند. این پروفایل‌ها به UFW اجازه می‌دهند این اپلیکیشن‌ها را بر اساس نام مدیریت کند. OpenSSH — سرویسی که به شما اجازه اتصال به سرور را می‌دهد — پروفایلی در UFW ثبت شده دارد.

می‌توانید فهرست پروفایل‌های نصب‌شده UFW را با تایپ دستور زیر بررسی کنید:

ufw app list

خروجی:

Available applications:
  OpenSSH

باید مطمئن شوید فایروال به اتصال‌های SSH اجازه می‌دهد تا دفعه بعد بتوانید وارد سرور خود شوید. با تایپ دستور زیر، این اتصال‌ها را مجاز کنید:

ufw allow OpenSSH

حالا فایروال را با تایپ دستور زیر فعال کنید:

ufw enable

برای ادامه، y تایپ کرده و ENTER را فشار دهید. می‌توانید با تایپ دستور زیر ببینید که اتصال‌های SSH همچنان مجاز هستند:

ufw status

خروجی:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

فایروال در حال حاضر همه اتصال‌ها به‌جز SSH را مسدود می‌کند. اگر سرویس‌های اضافی نصب و پیکربندی کنید، باید تنظیمات فایروال را برای مجاز دانستن ترافیک جدید وارد سرور خود تنظیم کنید. می‌توانید برخی عملیات‌های رایج UFW را در راهنمای «اصول UFW» یاد بگیرید.

برای افزودن دسترسی HTTP در آینده، فقط سرویس‌هایی را که لازم دارید مجاز کنید:

ufw allow 80/tcp
ufw allow 443/tcp

برای الگوهای رایج مانند محدودیت نرخ (Rate Limiting) و قوانین مخصوص هر سرویس، به راهنمای «راه‌اندازی فایروال با UFW روی اوبونتو» مراجعه کنید.

مرحله ۵ — فعال‌سازی دسترسی خارجی برای کاربر معمولی

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

توجه: تا زمانی که تأیید نکرده‌اید با کاربر جدید خود می‌توانید وارد شوید و از sudo استفاده کنید، توصیه می‌کنیم به‌عنوان root واردشده باقی بمانید. اگر با مشکلی در اتصال روبرو شدید، می‌توانید به‌عنوان root عیب‌یابی کرده و تغییرات لازم را اعمال کنید. اگر از سرور مجازی پارمین کلود استفاده می‌کنید و با مشکلی در اتصال SSH اکانت root روبرو می‌شوید، می‌توانید با استفاده از کنسول بازیابی (Recovery Console) به سرور خود دسترسی مجدد پیدا کنید.

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

اگر حساب root از احراز هویت با رمز عبور استفاده می‌کند

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

ssh sammy@your_server_ip

پس از وارد کردن رمز عبور کاربر معمولی خود، وارد خواهید شد. به یاد داشته باشید اگر لازم بود دستوری را با دسترسی‌های مدیریتی اجرا کنید، مثل زیر، کلمه sudo را قبل از آن تایپ کنید:

sudo command_to_run

هنگام استفاده از sudo، بار اول در هر نشست (و بعد از آن به‌صورت دوره‌ای)، درخواستی برای رمز عبور کاربر معمولی خود دریافت می‌کنید.

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

اگر حساب root از احراز هویت با کلید SSH استفاده می‌کند

اگر با کلیدهای SSH به حساب root خود وارد شده‌اید، احراز هویت با رمز عبور برای SSH غیرفعال است. برای ورود به‌عنوان کاربر معمولی خود با یک کلید SSH، باید یک کپی از کلید عمومی محلی خود را به فایل ~/.ssh/authorized_keys کاربر جدید اضافه کنید.

از آنجا که کلید عمومی شما از قبل در فایل ~/.ssh/authorized_keys حساب root روی سرور قرار دارد، می‌توانید با استفاده از نشست فعلی خود، آن فایل و ساختار دایرکتوری آن را به حساب کاربر جدید کپی کنید.

ساده‌ترین راه کپی فایل‌ها با مالکیت و دسترسی‌های درست، استفاده از دستور rsync است. این دستور دایرکتوری ‎.ssh کاربر root را کپی کرده، دسترسی‌ها را حفظ می‌کند و مالک فایل‌ها را تغییر می‌دهد؛ همه در یک دستور واحد. مطمئن شوید بخش‌های مشخص‌شده در دستور زیر را با نام کاربر معمولی خودتان مطابقت می‌دهید:

توجه: دستور rsync، منابع و مقصدهایی که با اسلش انتهایی (Trailing Slash) تمام می‌شوند را متفاوت از موارد بدون اسلش انتهایی رفتار می‌کند. هنگام استفاده از rsync در زیر، مطمئن شوید دایرکتوری منبع (~/.ssh) اسلش انتهایی ندارد (بررسی کنید که از ~/.ssh/ استفاده نمی‌کنید).

اگر به‌اشتباه یک اسلش انتهایی به دستور اضافه کنید، rsync به‌جای کپی کل ساختار دایرکتوری ~/.ssh، محتوای دایرکتوری ~/.ssh حساب root را به دایرکتوری خانه کاربر sudo کپی می‌کند. فایل‌ها در مکان اشتباهی قرار می‌گیرند و SSH نمی‌تواند آن‌ها را پیدا و استفاده کند.

rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy

حالا، روی ماشین محلی خود یک نشست ترمینال جدید باز کرده و با نام کاربری جدید خود از SSH استفاده کنید:

ssh sammy@your_server_ip

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

sudo command_to_run

هنگام استفاده از sudo، بار اول در هر نشست (و بعد از آن به‌صورت دوره‌ای)، درخواستی برای رمز عبور کاربر معمولی خود دریافت می‌کنید.

سوالات متداول

۱. آیا می‌توان از اوبونتو به‌عنوان سرور استفاده کرد؟

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

مزایای کلیدی اوبونتو Server:

ویژگیتوضیح
متن‌باز و رایگانبدون نیاز به هزینه مجوز
پشتیبانی LTSنسخه‌های پشتیبانی بلندمدت، ۵ سال به‌روزرسانی دریافت می‌کنند
آماده برای ابرایمیج‌های بهینه‌شده برای ابرهای مطرح (پارمین کلود، AWS و GCP)
مناسب DevOpsهمراه با OpenSSH، apt و systemd عرضه می‌شود
پشتیبانی گسترده سخت‌افزارروی x86، ARM، PPC و موارد دیگر اجرا می‌شود

نمونه وظایف سروری که اوبونتو آن‌ها را خوب انجام می‌دهد:

  • میزبانی وب (Apache، Nginx)
  • پایگاه‌های داده (PostgreSQL، MySQL، MongoDB)
  • سرورهای اپلیکیشن (Node.js، Python، Java)
  • ارکستراسیون کانتینر (Docker، Kubernetes)
  • ذخیره‌سازی فایل و بکاپ‌گیری

مثال: برای بررسی نسخه اوبونتوی خود:

lsb_release -a
# یا
cat /etc/os-release

برای اطلاعات بیشتر درباره SSH و مدیریت پکیج، راهنمای کلیدهای OpenSSH را ببینید.

۲. آیا اوبونتو Server رایگان است؟

بله. اوبونتو Server برای دانلود، نصب و استفاده برای هر منظوری — شخصی، آموزشی یا تجاری — کاملاً رایگان است. هیچ هزینه مجوز یا حق اشتراکی وجود ندارد.

اگر به‌دنبال راهی ساده و قابل‌اتکا برای شروع هستید، استقرار یک سرور مجازی اوبونتو در پارمین کلود را در نظر بگیرید. پارمین کلود ایمیج‌های آماده سرور اوبونتو ارائه می‌دهد تا بتوانید در چند کلیک، سرورهای امن و آماده production راه‌اندازی کنید — مناسب هم برای مبتدیان و هم برای متخصصان.

توجه: تنها در صورتی به Ubuntu Pro نیاز دارید که نگهداری امنیتی گسترده (ESM)، قابلیت‌های انطباق یا پشتیبانی سازمانی بخواهید. برای بیشتر کاربران و بارهای کاری معمول، نسخه رایگان اوبونتو Server کاملاً کافی است.

۳. کدام نسخه اوبونتو را برای یک سرور جدید انتخاب کنم؟

توصیه: از یک نسخه LTS (پشتیبانی بلندمدت) استفاده کنید. نسخه‌های LTS برای محیط production آماده هستند و ۵ سال به‌روزرسانی دریافت می‌کنند.

نسخه‌های LTS پرکاربرد:

نسخهتاریخ عرضهپایان پشتیبانینکات
Ubuntu 24.04 LTSآوریل 2024آوریل 2029جدیدترین؛ برای نصب‌های جدید پیشنهاد می‌شود
Ubuntu 22.04 LTSآوریل 2022آوریل 2027پرکاربرد؛ بسیار پایدار

بررسی نسخه فعلی خود:

lsb_release -cs   # نام رمز را نشان می‌دهد (مثلاً 'jammy' برای 22.04)

این راهنما و دستورات آن برای هر دو نسخه 24.04 LTS و 22.04 LTS اعتبارسنجی شده‌اند.

۴. آیا باید احراز هویت با رمز عبور برای SSH را غیرفعال کنم؟

بله؛ برای امنیت قوی.

به‌محض اینکه احراز هویت با کلید SSH را راه‌اندازی کردید و تأیید شد که می‌توانید وارد شوید، غیرفعال‌کردن احراز هویت با رمز عبور برای SSH، سطح مواجهه سرور شما با حملات Brute-Force را کاهش می‌دهد.

مراحل:

پیکربندی SSH را باز کنید:

sudo nano /etc/ssh/sshd_config

این مقدار را پیدا و تنظیم کنید:

PasswordAuthentication no

SSH را ری‌استارت کنید:

sudo systemctl reload sshd

مهم: پیش از اعمال این تغییر، همیشه یک روش دیگر برای دسترسی به سرور — مثل کنسول سرور مجازی پارمین کلود یا یک روش دسترسی پشتیبان — را در دسترس نگه دارید.

۵. آیا لازم است پورت پیش‌فرض SSH را تغییر دهم؟

تغییر پورت SSH از 22 اختیاری است و جایگزین احراز هویت مناسب با کلید SSH یا پیکربندی فایروال نیست.

مزایا و معایب:

تغییر پورت 22اثرات
کمی اسکن‌ها را کاهش می‌دهدبات‌های خودکار ممکن است پورت‌های غیر از 22 را دور بزنند
جایگزین امنیتی نیستمهاجمان همچنان می‌توانند پورت‌های باز را پیدا کنند
نیازمند به‌روزرسانی فایروال استقوانین UFW یا firewalld باید تغییر کنند

اگر پورت را تغییر دادید:

فایل /etc/ssh/sshd_config را ویرایش کنید:

Port 2277   # پورت نمونه؛ از یک پورت بزرگ‌تر از 1024 که در حال استفاده نیست استفاده کنید

قوانین UFW را به‌روزرسانی کنید:

sudo ufw allow 2277/tcp

با این دستور متصل شوید:

ssh -p 2277 user@your_server_ip

پورت جدید خود را مستند کنید تا از قفل‌شدن خارج از سرور جلوگیری شود.

از این کار به‌عنوان یک گام اضافی استفاده کنید، نه دفاع اصلی خود.

جمع‌بندی

تبریک! شما فرایند ضروری راه‌اندازی اولیه سرور با اوبونتو را کامل کردید. با دنبال‌کردن این مراحل، امنیت سرور خود را به‌طور چشمگیری بهبود داده و زیرساخت کار برای پیکربندی‌های آینده را فراهم کردید. اکنون یک حساب کاربر غیر root با دسترسی‌های sudo برای مدیریت روزمره ایمن‌تر دارید؛ یک فایروال (UFW) که پیکربندی شده تا همه ترافیک به‌جز مواردی که صریحاً مجاز کرده‌اید را محدود کند؛ و احراز هویت امن با کلید SSH — که ریسک دسترسی غیرمجاز را به‌طور قابل‌توجهی کاهش می‌دهد.

با اعمال این بهترین شیوه‌ها، سرور اوبونتوی شما برای میزبانی وب، استقرار اپلیکیشن و هرگونه سفارشی‌سازی بعدی که نیاز داشته باشید آماده است. راه‌اندازی تکمیل‌شده در این آموزش، نیازمندی پایه برای تقریباً هر پروژه سرور لینوکسی است و درک این مبانی به شما کمک می‌کند زیرساخت خود را در ابر یا محیط On-Premises با اطمینان مدیریت کنید.

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

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا