اولین قدم برای راه اندازی سرور لینوکس با اوبونتو ۲۰.۰۴

امروزه هر شخصی می‌تواند سرور خود را داشته باشد و سرویس یا داده‌های خود را بر روی آن اجرا یا ذخیره کنید. به لطف سرویس‌هایی همچون ابر آروان یا ابر پیشرو قادر هستیم در عرض چند ثانیه سرور خود را نصب و راه اندازی کنیم. 

در این پست چند قدم ساده برای راه‌ اندازی سرور لینوکس اوبونتو ۲۰.۰۴ را نشان میدهم.


ورود به سرور به عنوان root


وقتی سرور جدیدی را ایجاد میکنید به سرور شما یک Public IP و رمز عبور اختصاص داده میشود که با استفاده از این آی‌پی و رمز عبور قادر هستید وارد سرور شوید. ( در اینجا فرض شده است که قبل از ساخت سرور، نوع دسترسی به سرور را بصورت رمز تصادفی تعیین کرده اید )

$ ssh root@your_server_ip

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

توجه داشته باشید که اگر برای اولین بار است وارد سرور میشوید شاید از شما خواسته شود به منظور افزایش امنیت سرور رمز فعلی خود را تغییر دهید.

نام کاربری که شما با آن وارد سرور شده اید root است. کاربر root در لینوکس بالاترین سطح دسترسی و مدیریت سرور را دارد. این نوع از سطح دسترسی در بعضی اوقات شاید مشکل ساز باشد به همین خاطر بهتر است کاربری با سطح امتیازات پایینتر برای استفاده روزمره تعریف کنیم.


ایجاد یک کاربر جدید


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

کاربری که قرار است ایجاد کنیم با نام baboon نامگذاری میکنیم اما شما میتوانید از نام دلخواه خود استفاده کنید.

# adduser baboon

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


سطح دسترسی کاربر


گاهی لازم است که سطح دسترسی و اجرایی کاربران ساخته شده با سطح دسترسی عادی را تغییر دهیم. برای تعیین سطح دسترسی کاربر ابتدا باید از حالت کاربر عادی بودن خارج و به عنوان کاربر root وارد سرور شویم.

برای اعطای این سطح دسترسی‌ها به کاربر جدید باید کاربر را در گروه‌ sudo اضافه کنیم. در لینوکس یک گروه (group) مجموعه‌ای از کاربران است. هدف اصلی این گروه‌ها تعریف مجموعه‌ای از امتیازات مثل خواندن، نوشتن یا اجرای مجوزهایی که میتواند میان کاربران گروه به اشتراک گذاشته شود را باشد. 

# usermod -aG sudo baboon

دستور فوق را در محیط root به گروه sudo اضافه کنید. 

حال وقتی از حالت root خارج شوید و با کاربر عادی baboon وارد سرور شوید، خواهید دید که می‌توان تمام دستوراتی که فقط در حالت root انجام میشود را با آوردن sudo قبل از دستور مورد نظر اجرا کرد. 


استفاده از Public Key برای SSH کاربر جدید


در این راه فرض بر این گذاشته بوده‌ایم که احراز هویت کاربر بصورت رمز عبور معمولی باشد. کلیدهای SSH روشی ایمن‌تری نسبت به رمز عبور خالی ارائه میدهد. این به چه معناست؟!

بطور ساده می شود گفت که استفاده به تنهایی از رمز عبور درصد حمله و شکستن کلمه عبور را بالا می برد - در حالی که رمزگشایی کلیدهای SSH تقریبا غیر ممکن است. 

وقتی کلیدهای SSH را تولید میکنید دو کلید private و public با طول رشته‌ای بلند ایجاد میشوند. شما میتوانید کلید public را در سرور گذاشته و کلید private را به کلاینت اختصاص دهید. وقتی این دو کلید با هم دیگر مطابقت پیدا کنند اتصالی بین این دو ماشین بدون نیاز به کلمه عبور ایجاد میشود.


ایجاد یک جفت کلید RSA


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

$ ssh-keygen -t rsa

هنگام اجرا چندین سوال از شما پرسیده میشود. میتوانید آنها را با فشردن Enter رَد کنید تا فایل‌ها در آدرس home/moxart/.ssh/id_rsa/ ذخیره شود. این که بخواهید از بر روی کلیدها کلمه عبور بگذارید کاملا بستگی به شما دارد. اما گذاشتن رمز عبور بر روی فایل‌ها چه مزیت‌هایی میتواند داشته باشد؟! امنیت یک کلید صرف نظر از اینکه رمزگذاری شده است اما میتواند برای هیچ کسی به جز شما قابل مشاهده نباشد در واقع میشود گفت امنیت فایلها را چند برابر میکنید.  

خروجی دستور فوق میتواند اینطور باشد:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/moxart/.ssh/id_rsa): /home/moxart/.ssh/id_rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/moxart/.ssh/id_rsa
Your public key has been saved in /home/moxart/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:6wmAxw6YzPJQBK+BGRXtta0jBNd83NWVlG1v+cy4Ejg moxart@baboon
The key's randomart image is:
+---[RSA 3072]----+
|oo+o o . . ....o=|
|.=. o + o .   .oo|
|+ o+ . +       .o|
|o* oo . .      .o|
|*oo.+  .S  .   =.|
|.o +..o  .E . . +|
|  . .....  . . . |
|       o .  . .  |
|        o    .   |
+----[SHA256]-----+


همانطور که می‌بینید کلید public در آدرس home/username/.ssh/id_rsa.pub/ و کلید private در آدرس home/username/.ssh/id_rsa/ ذخیره شده است. 


کپی کلید Public در سرور


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

  • به کاربر جدیدی که قبلا ساخته‌ایم سوئیچ کنید
$ su - baboon
  • ساخت دایرکتوری ssh. در آدرس home
$ mkdir ~/.ssh
  • ساخت فایل authorized_keys در داخل پوشه ssh. و کپی کردن public key درون آن
$ vim ~/.ssh/authorized_keys

SSH public key خود را درون این فایل کپی کنید و ذخیره کنید.

  • تأیید ورود SSH به سرور از طریق راه دور 
$ ssh baboon@your_server_ip

اگر با موفقیت توانستید وارد شوید ، پس تبریک می گویم!