سرور لینوکس

راه اندازی سرور با لینوکس

 آموزش راه اندازی اولیه سرور با CentOS 7

آموزش راه اندازی سرور centos7

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

مرحله اول – Root Login
برای ورود به سرور ، باید آدرس IP عمومی سرورتون و رمز ورود به حساب کاربری ریشه (Root) رو بدونید. اگر قبلاً وارد سرورتون نشدید ، نحوه اتصال به SSH رو بخونید که این مطالب رو پوشش میده.

اگر از قبل به سرور متصل نشدید ، با استفاده از دستور زیر به عنوان کاربر اصلی وارد سیستم بشید. آدرس IP عمومی سرورتون رو جایگزین کلمه برجسته شده کنید.

ssh root@SERVER_IP_ADDRESS 

بعد از وارد کردن دستور بالا اخطاری بهتون داده خواهد شد.با پذیرش اخطار در مورد اصالت میزبان ، روند ورود به سیستم رو کامل کنید.اگر پیامی مبنی بر تایید اعتبار ROOT دریافت کردید رمز ورود یا کلید خصوصی را ارائه کنید. اگر اولین بار که با گذرواژه وارد سرور میشید ،از شما خواسته خواهد شد که گذرواژه اصلی رو تغییر بدید.

درباره Root
کاربر Root کاربر اداری (administrative ) توی محیط لینوکس هستش که از امتیازات بسیار گسترده ای برخورداره. بخاطر همین امتیازات حساب Root ، شما واقعاً از استفاده منظم آن منصرف میشید، چون بخشی از دسترسی های حساب Root توانایی ایجاد تغییرات بسیار مخرب ، حتی به طور تصادفی رو داره.

قدم بعدی راه اندازی یک حساب کاربری جایگزین با سطح دسترسی کمتر برای کارهای روزمره است.بهتون یاد میدیم که چطوری در زمانهایی که به اون دسترسی های بیشتر نیاز دارید ، بتونید ازشون استفاده کنید.

مرحله دوم – ایجاد یک کاربر جدید
بعد از ورود به عنوان Root ، آماده میشیم تا حساب کاربری جدیدی رو اضافه کنیم که از این به بعد برای ورود به سیستم استفاده کنیم.
تو این مثال ما یک کاربر جدید به نام “demo” ایجاد میکنیم ، اما شما باید نام کاربری را که دوست دارید جایگزین کنید.

adduser demo

تو مرحله بعد ، یک رمز عبور به کاربر جدید اختصاص بدید :

passwd demo

یک رمز ورود قوی وارد کنید و برای تأیید دوباره اون رو تکرار کنید.

مرحله سوم – امتیازات ریشه (Root )

الان ، ما یک حساب کاربری جدید با امتیازات منظم حساب داریم. با این حال ، ممکن که گاهی اوقات نیاز به انجام کارهای اداری (administrative ) داشته باشیم. برای جلوگیری از ورود و خروج های مجدد به سیستم از کاربر عادی به Root می تونیم مواردی را که به عنوان “super user” یا دسترسی های Root برای حساب عادی خودمون شناخته میشن تنظیم کنیم.
این به کاربر عادی ما اجازه میده تا با قرار دادن کلمه sudo قبل از هر دستور ، دستوراتی را با امتیازات مدیریتی اجرا کنه. برای ایجاد این دسترسی در کاربر جدید ، باید کاربر جدید را به گروه “wheel” اضافه کنیم،به طور پیش فرض ، در CentOS 7 ، کاربرانی که به گروه “wheel” تعلق دارن مجاز به استفاده از دستور sudo هستن.
به عنوان root ، این دستور را اجرا کنید تا کاربر جدید خود را به گروه “wheel” اضافه کنید (کلمه برجسته شده را با کاربر جدیدتون جایگزین کنید)

gpasswd -a demo wheel

الان کاربر شما می تونه دستورات را با دسترسی super user اجرا کنه!

مرحله چهارم – افزودن احراز هویت کلید عمومی (توصیه می شود)
قدم بعدی در تأمین امنیت سرور ، تنظیم احراز هویت کلید عمومی برای کاربر جدید هستش،با راه اندازی این مورد ، با ورود به کلید خصوصی SSH ، امنیت سرور شما افزایش پیدا میکنه.

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

ssh-keygen

با فرض اینکه کاربر محلی ( local user) شما “localuser” اسمش هست ، خروجی مثل زیر رو مشاهده کنید:

ssh-keygen output
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/localuser/.ssh/id_rsa):

برای پذیرفتن این نام و مسیر پرونده ، برگشت رو بزنید (یا نام جدیدی وارد کنید).
تو مرحله بعد ، از شما یک عبارت عبور خواسته میشه تا کلید را با اون ایمن کنید. می تونید یک عبارت عبور وارد کنید یا عبارت عبور را خالی بگذارید.
توجه: اگر عبارت عبور را خالی بگذارید ، می تونید از کلید خصوصی برای تأیید اعتبار بدون وارد کردن عبارت عبور استفاده کنید
اگه یک عبارت عبور وارد کنید ، برای ورود به سیستم به کلید خصوصی و رمز عبور احتیاج دارید
ایمن سازی کلیدها با عبارت عبور از امنیت بیشتری برخوردار هستش.اما هر دو روش کاربردهای خودشون رو دارن و ایمن تر از احراز هویت اولیه رمز عبور هستن.
این کلید خصوصی ، id_rsa و یک کلید عمومی ، id_rsa.pub ، در پوشه ssh. در دایرکتوری اصلی localuser ایجاد می کنه.
دقت کنید که کلید خصوصی نباید با در اختیار کسی قرار بگیرع که نمیخواید به سرورهای شما دسترسی داسته باشه.

کلید عمومی را کپی کنید
بعد از تولید یک جفت کلید SSH ، می خواهید کلید عمومی خود را در سرور جدید خود کپی کنید.
برای این کار دو روش آسان را داریم.

گزینه 1: از ssh-copy-id استفاده کنید
اگر اسکریپت ssh-copy-id در دستگاه محلی (local machine) شما نصب شده ، می تونید از اون برای نصب کلید عمومی خودتون برای هر کاربری که اعتبار ورود به سیستم رو داره استفاده کنید.
اسکریپت ssh-copy-id رو با تعیین کاربر و آدرس IP سروری که می خواهید کلید رو روی آن نصب کنید ، اجرا کنید ، مانند این:

ssh-copy-id demo@SERVER_IP_ADDRESS

بعد از ارائه گذرواژه ، کلید عمومی شما به کلید کاربر از راه دور اضافه میشه ssh/authorized_keys.

الان میتونیم از کلید خصوصی مربوطه میشه برای ورود به سرور استفاده کرد

گزینه 2: کلید را به صورت دستی نصب کنیم
با فرض اینکه با استفاده از مرحله قبل یک جفت کلید SSH ایجاد کردید برای چاپ کلید عمومیتون از دستور زیر تو ترمینال دستگاه محلی استفاده کنید.

cat ~/.ssh/id_rsa.pub

کلید SSH شبیه مورد زیر هستش:

id_rsa.pub contents
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJAhme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxmzTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhva+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS/1rggpFmu3HbXBnWSUdf localuser@machine.local

این کلید رو ذخیره کنید

کلید عمومی را به کاربر جدید از راه دور اضافه کنید.

( New Remote User)

برای فعال کردن استفاده از کلید SSH برای تأیید اعتبار به عنوان کاربر جدید از راه دور ( New Remote User)، باید کلید عمومی را به یک فایل خاص در فهرست اصلی کاربر اضافه کنید

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

su - demo

الان تو فهرست اصلی کاربر جدید خود هستید.یک فهرست جدید به نام .ssh ایجاد کنید و مجوزهای اون رو با دستورات زیر محدود کنید:

mkdir .ssh
chmod 700 .ssh

حالا یک فایل در .ssh با نام authorized_keys را با ویرایشگر متن باز کنید. برای ویرایش پرونده از vi استفاده میکنیم:

vi .ssh/authorized_keys

با فشار دادن i وارد حالت insert میشید ، بعد کلید عمومی خودتون را (که ذخیره کرده بودید) تو ویرایشگر وارد کنید. الان ESC رو بزنید تا از حالت insert خارج بشید.
برای ذخیره و خروج از پرونده : x وارد کنید و بعد ENTER رو بزنید.
الان با استفاده از دستور authorized_keys فایل هارو محدود کنید:

chmod 600 .ssh/authorized_keys

این دستور رو یک بار تایپ کنید تا به کاربر root برگردید:

exit

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

مرحله پنجم – پیکربندی SSH Daemon
خوب حساب جدید خودمون رو داریم ، الان می تونیم با تغییر در پیکربندی daemon SSH (برنامه ای که به ما این امکان رو میده تا از راه دور وارد شویم) و سرور رو کمی ایمن کنیم تا دسترسی SSH از راه دور به حساب root وجود نداشته باشه.
با باز کردن فایل پیکربندی با ویرایشگر متن به عنوان root شروع میکنیم:

vi /etc/ssh/sshd_config

در اینجا ، ما گزینه غیرفعال کردن ورود ریشه از طریق SSH رو داریم. این نوع تنظیم امن تر هست چون ما الان می تونیم از طریق حساب کاربری عادی به سرور دسترسی پیدا کنیم و اگر لازم بود دسترسی ها رو افزایش بدیم.
برای غیرفعال کردن ورودهای root از راه دور ، باید خطی رو پیدا کنیم که به شکل زیر باشه:

/etc/ssh/sshd_config (before)
#PermitRootLogin yes

با حذف علامت “#” خط رو از حالت کامنت خارج کنید (Shift-x را فشار دهید).
با فشار دادن c ، مکان نما را به سمت “yes” حرکت بدید.
بعد با فشار دادن cw شروع به تایپ “no” کنید. وقتی ویرایش تموم شد ، Escape رو بزنید. خروجیتون این شکلی میشه:

/etc/ssh/sshd_config (after)
PermitRootLogin no

عملیات غیر فعال کردن ورود root از راه دور تو هر سروری شدیدا توصیه میشه!
برای ذخیره و خروج از پرونده ، x: رو وارد کنید بعد هم ENTER بزنید.

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

systemctl reload sshd

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

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

ssh demo@SERVER_IP_ADDRESS

توجه: اگر از PuTTY برای اتصال به سرور استفاده می کنید ، حتماً شماره پورت جلسه (session’s port) رو به روز کنید تا با پیکربندی فعلی سرور مطابقت داشته باشه.از شما رمز ورود کاربر جدیدی که پیکربندی کردید درخواست میشه. بعد به عنوان کاربر جدید وارد سیستم بشید.
به یاد داشته باشید ، اگر شما نیاز به اجرای یک دستور با دسترسی root دارید ، قبل از اون “sudo” را تایپ کنید:

sudo command_to_run

اگر همه چی درست بود دستور زیر رو تایپ کنید:

exit

امیدوارم از آموزش بالا لذت برده باشید.برای یادگیری دپلوی سایت جنگو و php در یک سرور با اپاچی و mod_wsgi بر روی لینک کلیک کنید

امیرحسین باقری

امیرحسین باقری هستم عاشق طراحی سایت در زمینه python و همینطور طراح قالب و متخصص فرانت اند؛ از دانشی که تو این مدت بدست آوردم میشه به: html&css , ,bootstrap, C#, flexbox , sass , javascript , Django,celery,Django channels,DRF,Ruby ,Ruby on Railsاشاره کرد.

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

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