مقدمه
وقتیکه شما میخواهید برای اولینبار یک سرور جدید Ubuntu 18.04 بسازید، چند مرحله پیکربندی وجود خواهد داشت که بخشی از پروسه کلی نصب است. شما باید همه این مراحل را انجام دهید چون باعث میشود که امنیت و پایداری سرور شما بالا برود. همچنین سرور شما را برای تنظیمات و اقدامات بعدی آماده میکند. مراحل راهاندازی اولیه سرور با Ubuntu 18.04 مانند راهاندازی سرور با Ubuntu 16.04 و Ubuntu 20.04 است. با وان سنتر همراه باشید تا با همه این مراحل آشنا شوید.
مرحله اول – ورود به سیستم به عنوان کاربر روت (root)
برای وارد شدن به سرور، شما باید IP public سرور خود را بدانید. همچنین به کلمه عبور نیاز دارید. البته اگر برای احراز هویت،SSH-key نصب کرده باشید، به key private برای وارد شدن به حساب کاربر اصلی نیاز خواهید داشت. اگر برای احراز هویت، SSH-key نصب نکرده باشید، به کلمه عبور احتیاج خواهید داشت.
اگر هنوز به سرور خود وصل نشدهاید، همین حالا شروع کنید و با کد دستوری زیر بهعنوان کاربر اصلی وارد شوید. (به جای your_server_ip در دستور زیر public IP خود را جایگزین کنید.)
ssh root@your_server_ip
برای کامل شدن ورود شما به سرور، نیاز است تا هویت سرور خود را از طریق SSH Footprint تأیید کنید. البته این هشدار فقط بار اول داده میشود و در دفعات بعدی آن را نخواهید دید. اگر میخواهید از احراز هویت کلمه عبور استفاده میکنید باید، کلمه عبور حساب کاربری اصلی خود را وارد کنید. در صورت استفاده از یک SSH-key حفاظت شده با عبارت عبور، در هر بار وارد شدن با SSH-key باید عبارت عبور را نیز وارد کنید. اگر میخواهید برای اولین بار با کلمه عبور وارد سرور شوید، باید کلمه عبور حساب کاربری اصلی را تغییر دهید.
کاربر اصلی (root)
کاربر اصلی در واقع مدیر یک محیط لینوکس است که از دسترسی زیادی بهره میبرد. همین دسترسی زیاد حساب اصلی، باعث میشود که شما از استفاده مداوم از آن منصرف شوید. دلیل آن هم بهخاطر این است که یکی از دسترسیهای حساب اصلی توانایی تغییرات مخرب است حتی اگر این تغییرات تصادفی و به اشتباه صورت گرفته باشند.
مرحله بعدی ساختن یک حساب کاربری جایگزین با دسترسیهای محدود شده برای کارهای روزانه است. ما به شما نحوه بالا بردن دسترسی حساب خود را در مواقعی که نیاز دارید آموزش میدهیم. با وان سنتر همراه باشید.
مرحله دوم – ساختن یک حساب کاربری جدید
حالا که با حساب اصلی وارد سرور شدید، میتوانید یک حساب کاربری جدید بسازید. شما از این به بعد با این حساب جدید وارد سیستم خواهید شد.
دستور پایین نحوه اضافه کردن کاربر را نشان میدهد. شما باید به جای Username نام کاربری خود را بنویسید.
ssh root@your_server_ip
بعد از این کار باید کلمه عبور حساب خود را وارد کنید و بعد از آن چند سؤال دیگر از شما پرسیده میشود.
سعی کنید که یک کلمه عبور قوی و خوب انتخاب کنید. همچنین اطلاعات شخصی خود را میتوانید وارد کنید که البته کاملاً اختیاری است. بنابراین میتوانید در هر قسمت که نمیخواهید اطلاعاتی وارد کنید، فقط دکمه Enter را بزنید تا از آن قسمت عبور کنید. در ادامه به شما روش دادن دسترسیهای مدیریتی به حساب ثابت خود را آموزش میدهیم. با وان سنتر همراه باشید.
مرحله سوم – دادن دسترسیهای مدیریتی
حالا شما یک حساب کاربری جدید با دسترسی عادی همه حسابهای کاربری دارید. البته احتمالاً لازم باشد که چند کار مدیریتی انجام دهید.
برای اینکه موقع ورود به حساب اصلی از حساب ثابت خود خارج نشوید، میتوانید دسترسی حساب اصلی یا به اصطلاح superuser را روی حساب ثابت خود، تنظیم کنید. این کار باعث میشود که شما بتوانید با استفاده از دسترسی مدیریتی، دستورهای خود را با اضافهکردن کلمه sudo قبل از هر دستور، اجرایی کنید.
برای اضافهکردن این دسترسی به حساب کاربری جدید، باید حساب را به گروه sudo اضافه کنید. در Ubuntu 18.04، کاربرانی که به گروه sudo تعلق دارند بهصورت پیشفرض اجازه استفاده از کد دستوری sudo را دارند.
برای اضافهکردن حساب کاربری جدید به گروه sudo باید با حساب کاربری روت این کار را انجام دهید. در دستور زیر بهجای Username شده نام کاربری خود را بنویسید.
usermod -aG sudo Username
الان با وارد شدن به حساب کاربری ثابت خود و نوشتن sudo قبل از دستورها، با دسترسی superuser آنها را اجرایی کنید.
در ادامه به شما نحوه تنظیم فایروال روی سرور Ubuntu 18.04 را به شما آموزش میدهیم. با وان سنتر همراه باشید.
مرحله ۴ – تنظیم یک فایروال اولیه
سرورهای Ubuntu 18.04 میتوانند از فایروال UFW استفاده کنند تا مطمئن شوند که تنها اتصال به سرویسهای معین، مجاز است. با این اپلیکیشن بهراحتی میتوانید یک فایروال اولیه بسازید.
اپلیکیشنهای مختلفی وجود دارند که میتوانند بهمحض نصب، پروفایلهای خود را با UFW ثبت کنند. این پروفایلها به UFW اجازه میدهند که این اپلیکیشنها را بر اساس اسم مدیریت کند. سرویس OpenSSH که به ما اجازه ورود به سرور را میدهد، یک پروفایل ثبت شده با 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 را بلاک میکند. اگر بخواهید سرویسهای اضافی را نصب و پیکربندی کنید، باید تنظیمات فایروال را بهگونهای تعیین کنید که اجازه ورود مقدار قابل قبولی از ترافیک را به سرور بدهد.
در مرحله پنجم و پایانی، خواهید دید که چگونه میتوان دسترسی خارجی برای حساب کاربری ثابت را فعال کرد. با وان سنتر همراه باشید.
مرحله ۵ – فعال کردن دسترسی خارجی برای حساب کاربری ثابت
حالا که یک حساب کاربری ثابت برای استفاده روزانه دارید، باید مطمئن شوید که میتوانید مستقیماً با SSH-key وارد حساب شوید.
نکته: تا وقتی که مطمئن شوید میتوانید با حساب جدید وارد سرو شوید و از sudo استفاده کنید، توصیه میکنیم که از حساب اصلی خارج نشوید. با ماندن در حساب اصلی میتوانید هر زمان که مشکلی در سرور پیش آمد، آن را عیبیابی کنید و تغییرات لازم را انجام دهید.
پروسه پیکربندی دسترسی SSH برای حساب کاربری جدید شما بر اساس استفاده حساب اصلی شما از کلمه عبور یا SSH-key برای احراز هویت، متفاوت خواهد بود.
احراز هویت حساب اصلی با استفاده از کلمه عبور
اگر با استفاده از کلمه عبور وارد حساب اصلی خود شدهاید، احراز هویت کلمه عبور برای SSH فعال شده است. با باز کردن یک session ترمینال جدید و استفاده از SSH با نام کاربری جدید خود میتوانید با اتصال SSH وارد حساب کاربری خود شوید:
ssh username@your_server_ip
بعد از وارد کردن کلمه عبور حساب ثابت خود، وارد سرور خواهید شد. به یاد داشته باشید که اگر میخواهید دستوری را با دسترسی مدیریتی اجرایی کنید، قبل دستور sudo را بنویسید:
sudo command_to_run
وقتی که در هر session میخواهید برای اولین بار ازsudo استفاده کنید، باید کلمه عبور حساب کاربری ثابت خود را وارد کنید. برای بالا بردن امنیت سرور، به شدت توصیه میکنیم که برای احراز هویت به جای کلمه عبور از SSH-key استفاده کنید.
احراز هویت حساب اصلی با استفاده از SSH-key
اگر با استفاده از SSH-key وارد سرور شدهاید احراز هویت کلمه عبور برای SSH غیرفعال شده است. شما باید public key خود را در فایل ssh/authorized_keys./~ حساب کاربری جدید کپی کنید تا بتوانید با وارد سرور شوید.
public key شما در فایل ssh/authorized_keys./~ حساب اصلی در سرور وجود دارد. بنابراین میتوانید در session فعلی، فایل و ساختار دایرکتوری را در حساب کاربری جدید کپی کنید.
آسانترین راه برای کپی کردن فایلها به همراه مالکیت صحیح و دسترسیها، دستور rsync است. با یک دستور ساده، دایرکتوری ssh. حساب اصلی با حفظ دسترسیها و تعیین مالکان فایل، کپی میشود. حتما در دستور زیر به جای username نام کاربری حساب ثابت خود را بنویسید:
نکته: دستور rsync در destination و سورسهایی که با یک (/) تمام میشوند، نسبت به آنهایی که با یک (/) تمام نمیشوند، متفاوت عمل میکند. وقتی که از rsync در دستور زیر استفاده میکنید، حواستان باشد که بعد از سورس دایرکتوری ssh./~ اسلش نداشته باشد (یعنی نگاه کنید که به شکل: /ssh./~ نباشد).
اگر تصادفاً در آخر دستور اسلش اضافه کنید، rysinc به جای کل ساختار دایرکتوری ssh./~، محتوای دایرکتوری ssh./~ حساب اصلی را در دایرکتوری کاربر sudo کپی میکند. فایلها در مکان اشتباهی خواهند بود و SSH نمیتواند فایلها را پیدا و از آنها استفاده کند.
rsync --archive --chown=username:username ~/.ssh /home/username
حالا یک session ترمینال جدیدی در دستگاه خود باز کنید و برای نام کاربری جدید خود از SSH استفاده کنید:
ssh username@your_server_ip
حالا شما بدون استفاده از کلمه عبور وارد حساب کاربری جدید خود شدهاید. به یاد داشته باشید که اگر میخواهید دستوری را با دسترسی مدیریتی، اجرایی کنید، قبل دستور sudo را بنویسید:
sudo command_to_run
وقتی که در هر session میخواهید برای اولین بار ازsudo استفاده کنید، باید کلمه عبور حساب کاربری ثابت خود را وارد کنید. با پایان این مراحل، تنظیمات اولیه سرور انجام شده است و حالا میتوانید هر نرمافزاری را که نیاز دارید روی سرور خود نصب کنید.