آموزش ایجاد کاربر جدید در لینوکس و استفاده از ssh

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

پس از خرید وی پی اس , یک ایمیل با مشخصات vps , ای پی سرور, نام کاربری (که در حالت پیشفرض root است) و پسور آن برای شما ارسال خواهد شد. در صورتی که شما از نام کاربری روت برای اتصال به وی پی اس استفاده می کنید, کار را برای هکر ها بسیار آسان میکنید, هکر ها می توانند با حملات brute force (تلاش برای وارد شدن با ارسال هزاران پسور تصادفی در چند ثانیه ) سرور vps شما هک کنند, در این حملات چون نام کاربری root قابل حالت پیشفرض است, هکر ها براحتی می توانند با حملاتی مانند brute force پسورد vps را در چند ساعات بدست آورند.

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

به سرور وصل شوید

  • ابتدا ترمینال را باز کنید
  • با استفاده از ssh و ای پی سرور, وارد سرور شوید
  • از شما سوالی درباره مطمئن بودن تان پرسیده میشود
  • yes را تایپ کنید و کلید اینتر را بزنید
#!/bin/bash
ssh root@104.248.57.186
  • پسورد سرور را که قبلا به شما ایمیل شده وارد کنید
  • دوباره پسورد را وارد کنید
  • سیستم از شما یک پسور جدید برای نام کاربری root می خواهد
  • یک پسورد جدید تایپ کنید و آن را به خاطر بسپارید
  • دوباره پسورد جدید را تایپ کنید
  • در صورتی با موفقیت این مرحله را پست سر بگذارید پیام زیر را خواهید دید
 root@pcname:~#
  • با استفاده از دستور exit از سرور خارج شوید
  • دوباره به سرور وصل شوید و از پسورد جدید استفاده کنید
#!/bin/bash
ssh root@104.248.57.186

کلید های ssh بسازید

  • در ترمینال سیستم خود یک تب جدید باز کنید
  • به دلیل ایمنی بالای کلید های ssh برای وصل شدن به سرور همیشه از آن استفاده کنید
  • یک کلید جدید ssh برای وصل شدن به سرور بسازید  (می توانید نامی متفاوت نتخاب کنید)
#!/bin/bash
ssh-keygen -t rsa -b 4096 -C "ardweb"

 

بعد از در ترمینال پیام زیر را خواهید دید

 

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

 

این متن را در ترمینال کپی کنید (می توانید نامی دلخواه انتخاب کنید)

 

#!/bin/bash
/Users/ardweb/.ssh/id_ardweb

 

سپس از شما رمزی عبوری برای کلید ها خواسته می شود

 

#!/bin/bash
Enter passphrase (empty for no passphrase):

 

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

  • زمان چک کردن کلید های ساخته شده است
  • دستور زیر را در ترمینال تایپ کنید
#!/bin/bash
cd ~/.ssh & ls

 

میتوانید لیست کلید های جدید را  مشاهده کنید

 

id_ardweb
id_ardweb.pub

 

بدلیل اینکه ما به سرور دسترسی فیزیکی نداریم و نمی توانیم از رمزگذاری متقارن استفاده کنیم (در صورت ارسال کلید به صورت اینترنتی امکان لو رفتن وجود دارند), در ssh از روش رمز گزاری نامتقارن استفاده میشود, ما کلید عمومی را در سرور ذخیره میکنیم و هنگامی که درخواست اتصال به سرور را ارسال میکنیم, سرور ssh یک کلید مخصوص را با کلید عمومی id_ardweb.pub رمزگذاری میکند و چون ما کلید خصوصی id_ardweb را داریم, آن را رمزگشایی میکنیم و کلید مخصوص را به سرور ارسال میکنیم و اجازه اتصال به سرور داده میشود و پس از آن یک تونل رمزگذاری شده میان شما و سرور ایجاد میشود تا بتوانید سرور را با امنیت کامل کنترل کنید.

id_ardweb.pub کلید عمومی است که میتوانید با همه به اشتراک بگذارید و id_ardweb کلید خصوصی است که باید از آن به دقت مراقبت کنید تا در دسترس دیگران قرار نگیرد. با استفاده از دستور زیر کلید عمومی را در کلیبرد ذخیره کنید

 

cat id_ardweb.pub | pbcopy

 

این تب را  در ترمینال ترک کنید و یک صفحه جدید در ترمینال باز کنید

ایجاد یک کاربر جدید برای جایگزینی با کاربر root

برای که اینکه ما دسترسی کاربر روت در آینده خواهیم بسته , پس یک کاربر جدید می سازیم تا بتوانیم یه سرور از طریق کاربر جدید دسترسی پیدا کنیم.

  • به تبی که به سرور وصل شده بودید بر گردید
  • دستور زیر را اجرا کنید (می توانید نامی دلخواه انتخاب کنید)
#!/bin/bash
adduser ardweb

 

  • سیستم از شما یک پسورد برای کاربر جدید می خواهد
  • دوبار پسورد را برای تایید تایپ کنید
  • سیستم از شما مشخصاتی مانند , نام کامل, شماره و غیره می خواهد
  • پس از تکمیل اطلاعات y را تایپ و اینتر را فشار دهید
  • اکنون با دستور زیر وارد نام کاربری ardweb میشویم
#!/bin/bash
sudo su ardweb

اعطا کردن امتیاز sudo به کاربر جدید

در حال حاضر ما با نام کاربر ardweb در سیستم هستیم ولی این نام کاربری همچنان به امتیاز sudo دسترسی ندارد و نمی توانیم دستورات su را رد سیتم اجرا کنیم

  • با دستور exit از این نام کاربری خارج شوید
  • دستور زیر را اجرا کنید
#!/bin/bash
usermod -aG admin ardweb

 

کاربر ardweb هم اکنون به امتیاز sudo دسترسی دارد و می توانیم در سیستم عامل تغییرات سیستمی اعمال کنیم. برای اطمینان با دستور زیر دوباره وارد نام کاربری ardweb می شویم و دوباره وارد نام کاربری root میشویم

 

#!/bin/bash
sudo su ardweb
cd
sudo su root

 

در صورتی به مراحل کار به درستی انجام شده باشد , میتوانیم با دستور به  sudo su root به نام کاربری root برگردیم, در غیر این صورت با  خطا مواجه خواهید شد. اکنون به نام کاربری ardweb بر میگردیم

 

#!/bin/bash
sudo su ardweb

اضافه کردن کلید عمومی ssh به سرور وی پی اس

درصورتی که فولدر ssh. وجود نداشته باشد , فودر را ایجاد و داخل آن میشویم و با استفاده از نرم افزاری مانند nano یا vim فایل authorized_keys  را ایجاد میکنیم.

 

#!/bin/bash
mkdir .ssh
cd .ssh
vim authorized_keys

 

 اگر به یاد داشته باشید ما قبلا با دستور cat id_ardweb.pub | pbcopy کلید عمومی در کلیبورد ذخیره کرده بودیم, اگر پاک شده دوباره در سیستم خود وارد فولدر cd ~/.ssh  شوید و دستور cat id_ardweb.pub | pbcopy را اجرا کنید و سپس در نرم افزار nano یا vim که سرور باز کرده بودیم برگردید و کپی کنید و پس از آن فایل را ذخیره کنید . متن باید چیزی شبیه به ssh-rsa XXXXXX باشد.

اکنون میتوانیم با جفت کلید ها به سرور متصل شویم .

 

#!/bin/bash
ssh -i ~/.ssh/id_ardweb ardweb@100.100.100.100

 

تبریک میگم , شما سرور متصل شدید :)

حذف امکان اتصال کاربر root

دستور زیرا اجرا کنید

 

#!/bin/bash
sudo nano /etc/ssh/sshd_config or sudo nano /etc/ssh/sshd_config

 

عبارت های زیر به صورت بعد فلش تغییر دهید (بهتر است پورت ssh را هم تغییر دهید)

 

PermitRootLogin yes -> PermitRootLogin no
PasswordAuthentication yes -> PasswordAuthentication no

 

فایل را ذخیره کنید و سپس یکبار ssh را ریستارت کنید

 

#!/bin/bash
sudo service ssh restart

 

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

 

#!/bin/bash
ssh root@104.248.57.186 
ssh root@104.248.57.186: Permission denied (publickey)

 

منبع 

۲۰۲۰
۱۳۹۹/۱۰/۲۵