تنظیمات اولیه سرور ابری (Ubuntu 16.04)
در این مقاله موارد اولیه درباره نحوه دسترسی و کار بر روی سرور ابری و همچنین دیتاسنتر ابری به طور مجزا ارائه شده است
استارت سرور ابری
سوالی که پس از تحویل گرفتن سرور ابری یا راه اندازی یک instance در دیتاسنتر ابری زس برای بسیاری از مشتریان به وجود می آید این است که
چه اقداماتی باید صورت گیرد تا با خیال آسوده به کار با آن ادامه دهیم.
در ادامه، فهرستی از موارد اولیه درباره نحوه دسترسی و کار بر روی سرور ابری و همچنین دیتاسنتر ابری به طور مجزا ارائه شده است:
ایجاد یک کاربر غیر root با دسترسی مدیر سیستم
افزودن کلید عمومی برای ورود به سیستم بدون نیاز به کلمه عبور
غیر فعال کردن کلمه عبور برای امنیت بیشتر
تنظیم دیوار آتش
ایجاد کاربر با دسترسی مدیر
پس از ورود به سیستم با اجرای دستور:
ssh root@<آدرس آیپی>
با دستور زیر ابتدا یک کاربر ایجاد کرده و سپس به آن دسترسی sudo می دهیم:
adduser admin[پس از اجرای این دستور تعدادی سوال از شما پرسیده می شود که میتوانید با زدن کلید Enter از آنها عبور کنید و در نهایت از شما کلمه عبور کاربر پرسیده میشود که باید تایید آن را نیز وارد نمایید]
usermod -aG sudo admin[این دستور کاربر ساخته شده را به گروه sudoers اضافه میکند تا بتوان دستورات با دسترسی مدیر سیستم را اجرا کرد]
احراز هویت با کلید عمومی به ماشین
استفاده از کلمه عبور در نگهداری و مدیریت سرور ابری یا دیتاسنتر ابری از نظر ملاحظات امنیتی، امری نامطلوب تلقی میشود. لذا بهتر است از روش احراز هویت با کلید عمومی استفاده شود که در ادامه نحوه افزودن آن را توضیح می دهیم:
تولید کلید عمومی
ssh-keygen
حال اگر با کاربر admin دستور را اجرا کرده باشید ، خروجی به شکل زیر است:
ssh-keygen output Generating public/private rsa key pair. Enter file in which to save the key (/Users/amin/.ssh/id_rsa):
پس از نمایش خط سوم، لینوکس از شما می خواهد یک کلمه عبور وارد کنید.
در نظر داشته باشید که در صورت وارد کردن عبارت عبور باید برای هر بار ورود به سیستم از طریق کلید خصوصی ssh عبارت عبور را نیز وارد کنید.
بدون وارد کردن عبارت عبور نیز (که صرفا لازم است پس از درخواست سیستم کلید Enter را فشار دهید) ورود صورت می گیرد البته حالت اول امن تر است.
اجرای دستور بالا دو کلید که یکی عمومی و دیگری خصوصی است را در دایرکتوری ssh. که در home کاربر وجود دارد ایجاد می کند.
کلید خصوصی را به اشتراک نگذارید.
کپی کردن کلید عمومی
حال که کلیدها را تولید کردیم نوبت کپی کردن کلید عمومی به سرور جدید رسیده است و برای این کار دو روش وجود دارد:
روش اول:
ssh-copy-id admin@<آیپی شما>
روش دوم:
به روش معمول کلید را کپی میکنیم به این شکل که خروجی دستور:
cat ~/.ssh/id_rsa.pub
به شکل:
id_rsa.pub contents ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBGTO0tsVejssuaYR5R3Y/i73SppJA hme1dH7W2c47d4gOqB4izP0+fRLfvbz/tnXFz4iOP/H6eCV05hqUhF+KYRxt9Y8tVMrpDZR2l75o6+xSbUOMu6xN+uVF0T9XzKcxm zTmnV7Na5up3QM3DoSRYX/EP3utr2+zAqpJIfKPLdA74w7g56oYWI9blpnpzxkEd3edVJOivUkpZ4JoenWManvIaSdMTJXMy3MtlQhv a+j9CgguyVbUkdzK9KKEuah+pFZvaugtebsU+bllPTB0nlXGIJk98Ie9ZtxuY3nCKneB+KjKiXrAvXUPCI9mWkYS /1rggpFmu3HbXBnWSUdf [email protected]
را در clip board کپی می کنیم.
حال با تغییر موقتی کاربر از root به admin کار را دنبال می کنیم:
su - admin
در دایرکتوری home کاربر یک دایرکتوری به شکل:
mkdir ~/.ssh
ایجاد می کنیم.
و با دستور زیر مجوزهای لازم را روی ssh. اعمال می کنیم:
chmod 700 ~/.ssh
پس از ایجاد یک فایل به نام authorized_keys در دایرکتوری ssh. با editor دلخواه دستور زیر را برای دادن مجوزهای لازم اجرا کنید:
chmod 600 ~/.ssh/authorized_keys
حال از حساب admin خارج می شویم:
Exit
غیرفعال کردن ورود با کلمه عبور
اگر مراحل قبل برای فعال کردن ورود با کلید عمومی را فعال کرده اید و از صحت ورود خود به سرور ابری از آن طریق مطمئن هستید، می توانید با خیال آسوده عملیات زیر را پیش ببرید.
با حساب root یا هر حسابی که دسترسی های مدیر را دارد فایل sshd_config را از مسیر زیر etc/ssh/sshd_config/ ویرایش کنید.
موارد زیر را به این شکل تغییر دهید:
PasswordAuthentication no PubkeyAuthentication yes ChallengeResponseAuthentication no
پس از ذخیره تغییرات نوبت به restart کردن ssh daemon می رسد:
sudo systemctl reload sshd
آزمایش ورود با کلید
قبل از خروج از اکانت خود با connection دیگری دسترسی را امتحان کنید:
ssh admin@your_server_ip
چنانچه کلید درست اضافه شده باشد باید بتوانید بدون کلمه عبور وارد شوید(اگر عبارت عبور را در مراحل قبل وارد کرده باشید از شما پرسیده می شود).
تنظیمات اولیه دیوار آتش
ابر زس از سه لایه فایروال استفاده می کند که در این قسمت از آموزش، فایروال درونی که توسط سیستمعامل سرور ابری کنترل میگردد را بررسی می کنیم.
برای این کار از ubuntu firewall که به اختصار ufw نامیده می شود استفاده می کنیم.
با اجرای دستور زیر میتوانید فهرست برنامه هایی که ufw به آن ها اجازه تبادل با بیرون را می دهد ببینید:
sudo ufw app list Output Available applications: OpenSSH
اجرای دستور زیر OpenSSH را در فهرست مجاز می کند:
sudo ufw allow OpenSSH
بعد از اضافه شدن OpenSSH به لیست مجاز در ufw میتوانیم دیوار آتش را فعال کنیم:
sudo ufw enable
با وارد کردن y عملیات را تایید کنید.
sudo ufw status Output Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)