زمانی که برای نخستین بار یک سرور با سیستمعامل Ubuntu 20.04 ایجاد میکنید، برای تنظیمات اولیه آن نیاز است برخی مراحل پیکربندی را بهمنظور افزایش امنیت و سهولت استفاده از سرور انجام دهید همچنین با راهاندازی اولیه صحیح سرور میتوانید پایهای مستحکم برای اقدامات بعدی داشته باشید.
برای لاگین کردن به سرور نیاز که IP و رمز عبور سرور را بدانید، یا درصورتیکه از کلید SSH برای احراز هویت استفاده میکنید باید پروتکل SSH دسترسی یوزر روت اکانت را داشته باشید. درصورتیکه در لاگین کردن به سرور مشکل دارید میتوانید مقاله نحوه اتصال به سرور با استفاده از SSH را مطالعه کنید.
مرحله اول: ورود به سرور اوبونتو به عنوان کاربر root
برای شروع کار با با یوزر root به سرور مجازی لینوکس متصل شوید برای اینکار دستور زیر را اجرا کنید. (بخش هایلایت شده را با ip سرور خود جایگزین کنید.)
ssh root@your_server_ip
در صورتی که اروری در مورد اعتبار هاست دریافت کردید آن را accept کنید، در صورتی که برای احراز هویت از رمز عبور استفاده میکنید، رمز عبور روت خود را برای ورود وارد کنید. اگر از کلید SSH دارای رمز عبور استفاده میکنید ممکن است نیاز به وارد کردن رمز عبور در اولین مرتبه استفاده برای هر سشن باشید. همچنین بهتر است بعد از اولین بار لاگین به سرور پسورد خود را تغییر دهید.
در مورد root
یوزر root همان کار ادمین یا administrator در محیط لینوکس است که دسترسیهای بسیار زیادی دارد. به همین دلیل هم از کاربر روت برای استفاده از معمولی استفاده نمیشود چون در صورتی که تصادفاً اشتباهی انجام دهید میتواند باعث به وجود آمدن تغییرات جبران ناپذیر شود.
قدم بعدی ساخت یک یوزر جدید با دسترسیهای کمتر برای اکانت برای استفادههای معمولی است. سپس نحوه افزایش دسترسیهای یوزر جدید بهصورت موقتی برای زمانهای خاص را آموزش خواهیم داد.
مرحله دوم: ساخت یک یوزر جدید در اوبونتو
زمانی که به عنوان کاربر روت لاگین کرده باشید میتوانید یوزرهای جدیدی برای اکانت ایجاد کنید. در آینده به جای یوزر روت با این یوزر جدید لاگین خواهیم کرد.
به عنوان مثال یک کاربر با اسم mobin ایجاد میکنیم. میتوانید نام کاربری دلخواه خود را نیز بنویسید.
adduser mobin
در ادامه نیاز است به چند سوال پاسخ دهید، از جمله پسورد اکانت.
از یک رمز عبور قدرتمند استفاده کنید و باقی سوالات را هم با اطلاعات خود تکمیل کنید و اگر میخواهید از هر یک از فیلدها عبور کنید از ENTER
استفاده کنید.
مرحله سوم: تخصیص دسترسی های مدیریتی
اکنون یک یوزر جدید با دسترسیهای معمول داریم، ولی ممکن است گاهی به دسترسیهای ادمین احتیاج داشته باشیم.
برای اینکه هر بار نیاز نباشد لاگ اوت کنیم و دوباره با یوزر روت لاگین کنیم میتوانیم دسترسیهایی که superuser یا root دارند را به این کاربر اختصاص دهیم. در این حالت به کاربر معمولی این امکان را میدهیم تا بتواند دستورات با سطح مدیریتی را با استفاده از کلمه sudo
در ابتدای آن اجرا کند.
با کاربر روت دستور زیر را برای اضافه کردن کاربر جدید به گروه sudo اجرا کنید. کلمه هایلایت شده را با نام یوزر جدید جایگزین کنید.
usermod -aG sudo mobin
حالا اگر با این یوزر لاگین کنید با استفاده از sudo میتوانید کارهایی که کاربر superuser میتواند انجام دهد را انجام دهید.
مرحله چهارم: راه اندازی فایروال اولیه در لینوکس اوبونتو
سرورهای لینوکس اوبونتو میتوانند از فایروال UFW
استفاده کنند، برای اطمینان به اینکه تنها برخی از سرویس مجاز هستند، در این بخش یک فایروال ساده راه اندازی میکنیم.
اپلیکیشن ها در زمان نصب پروفایل خود را در UFW
ثبت میکنند که به آن اجازه میدهد بتواند برنامهها را با نامشان مدیریت کند. OpenSSH
سرویسی که با ما اجازه میدهد که به سرویس خود متصل شویم یک پروفایل ثبت شده در UFW دارد.
میتوایند آن را با تایپ دستور زیر مشاهده کنید.
ufw app list
Output
Available applications: OpenSSH
نیاز است تا مطمئن شویم که فایروال اتصالات SSH را مسدود نمیکند. و ما میتوانیم باز هم به سرور لاگین کنیم. به این منظور دستور زیر را تایپ کنید.
ufw allow OpenSSH
حالا میتوانیم فایروال را فعال کنیم
ufw enable
حرف y را تایپ کنید و ENTER را بزنید، حالا میتوانید تست کنید که فایروال کانکشن SSH را مسدود نکرده است.
ufw status
اکنون فایروال همه کانکشنها غیر از SSH را غیرفعال کرده است. اگر شما سرویس ها جانبی را فعال کردهاید نیاز است که آنها را در فایروال ثبت کنید.
مرحله پنجم: فعال سازی دسترسی های خارجی به یوزر معمولی
اکنون ما یک یوزر برای کارهای روزانه داریم، حال باید بتوانیم با استفاده از ssh به صورت مستقیم به آن وصل شویم. دسترسی SSH این یوزر به یوزر معمولی وابسته است.
اگر یوزر روت از پسورد استفاده میکند:
اگر برای لاگین کردن به روت از پسورد استفاده میکنید و احراز هویت با پسورد برای SSH فعال است. شما میتوانید برای SSH یوزر جدید با باز کردن ترمینال جدید و استفاده از SSH با یوزرنیم خود استفاده کنید.
ssh mobin@your_server_ip
بعد از وارد کردن پسورد لاگین خواهید شد، به خاطر داشته باشید، اگر نیاز به اجرای دستور با دسترسی ادمین داشتید از sudo
استفاده کنید. مانند زیر:
sudo command_to_run
برای افزایش امنیت سرور توصیه میکنیم که از کلیدهای SSH برای احراز هویت به جای رمز عبور استفاده کنید.
اگر یوزر روت از کلید SSH برای احراز هویت استفاده میکند
اگر به اکانت روت با استفاده از کلید SSH لاگین میکنید پس پسورد آن غیر فعال است، نیاز است که کلید عمومی را برای یوزر جدید در فایل ~/.ssh/authorized_key
کپی کنید.
از آنجایی که کلید عمومی شما از قبل در فایل ~/.ssh/authorized_keys
حساب روت روی سرور قرار دارد، میتوانیم آن فایل و ساختار دایرکتوری را در حساب کاربری جدید خود در سشن فعلی خود کپی کنیم.
سادهترین راه برای کپی کردن فایلها با مالکیت و مجوزهای صحیح، دستور rsync
است. این کار دایرکتوری.ssh کاربر ریشه را کپی میکند، مجوزها را حفظ میکند و صاحبان فایل را تغییر میدهد، مطمئن شوید که بخشهای هایلایت شده دستور زیر را برای مطابقت با نام کاربر معمولی خود تغییر دهید:
rsync --archive --chown=mobin:mobin ~/.ssh /home/mobin
- توجه: دستور rsync با منابع و مقاصدی که با اسلش انتهایی خاتمه مییابند متفاوت از موارد بدون اسلش آخر رفتار میکند. هنگام استفاده از rsync در زیر، مطمئن شوید که دایرکتوری منبع (~/.ssh) دارای یک اسلش انتهایی نباشد.اگر تصادفاً یک اسلش انتهایی به دستور اضافه کنید، rsync به جای کپی کردن کل ساختار دایرکتوری ~/.ssh، محتویات دایرکتوری ~/.ssh حساب ریشه را در فهرست اصلی کاربر sudo کپی میکند. در این حالت فایلها در مکان اشتباهی قرار میگیرند و SSH نمیتواند آنها را پیدا و استفاده کند.اکنون یک ترمینال سشن جدید باز کنید و از SSH یوزر جدید در آن استفاده کنید.
ssh mobin@your_server_ip
اکنون با یوزر جدید وارد خواهید شد، استفاده از دستور sudo
را در زمانهایی که نیاز به اجرای دستورات با سطح دسترسی مدیریتی فراموش نکنید.