توجه: این مقاله به مرور زمان، ویرایش و یا تکمیل میشود!
تقاضا: در صورتی که با مشکل تایپی، دستوری و یا مفهومی در این مقاله برخورد کردید، از شما دوست عزیز و گرامی، صمیمانه تقاضا میکنم که اینجانب را مطلع کرده، تا نسبت به تصحیح و یا تکمیل آن، در اسرع وقت، اقدام نمایم.
با کمال تشکر
داریوش تصدیقی
کانال تلگرام: IranianExperts@
شماره تلفن همراه: ۰۹۱۲۱۰۸۷۴۶۱
نشانی پست الکترونیکی: DariushT@GMail.com
فیلمهای آموزشی https://www.aparat.com/DariushT
آدرس سایتها: https://WebsiteAnalytics.ir - http://IranianExperts.ir - http://Date2Date.ir
نسخه مقاله: ۱.۵ - تاریخ بروزرسانی: ۱۳۹۹/۰۲/۱۰
برای سادگی کار، به جای آن که در ابتدای هر یک از دستورات این مقاله، از کلمه sudo استفاده نماییم! ابتدا دستور sudo -i را اجرا کرده، تا به عنوان کاربر root وارد سیستم عامل لینوکس اوبونتو شده و سپس دستورات این مقاله را اجرا میکنیم:
sudo -i
قبل از هر چیز، اگر بسته openssh-server بر روی سیستم وجود دارد، آن را به طور کامل (purge) حذف میکنیم:
بسته = Package
apt-get purge -y openssh-server
نکته: با استفاده از دستور فوق، علاوه بر حذف سرویس SSH Server تمامی فایلهای مربوط به تنظیمات آن نیز حذف میشوند!
دستور purge بر خلاف دستور remove میباشد. با استفاده از دستور remove صرفا سرویس SSH Server حذف شده و فایلهای مربوط به تنظیمات آن حذف نمیشوند:
apt-get remove -y openssh-server
سپس با استفاده از دستورات ذیل، اقدام به نصب بسته openssh-server میکنیم:
apt-get update -y apt-get upgrade -y apt-get install -y openssh-server
بعد از نصب، وضعیت سرویس را با یکی از دستورات ذیل بررسی میکنیم:
service sshd status
یا
systemctl status sshd
نکته: به طور کلی بهتر است برای مشاهده وضعیت یک سرویس، راهاندازی و متوقف کردن آن و غیره، به جای استفاده از دستور service، از دستور systemctl استفاده نماییم!
نکته: باید دقت داشته باشیم که در زمان استفاده از دو دستور service و systemctl ترتیب نوشتن پارمترها بسیار مهم بوده و برعکس هم میباشند! یعنی در هنگام استفاده از دستور service، ابتدا نام سرویس نوشته شده و سپس عملی که میخواهیم انجام دهیم (مانند status) را مینویسیم، ولی در هنگام استفاده از دستور systemctl کاملا برعکس میباشد!
حال سرویس مذکور را به صورت موقت (چون میخواهیم تنظیمات آن را از طریق فایل Config مربوطه تغییر دهیم)، توسط یکی از دستورات ذیل، Stop میکنیم:
service sshd stop
و یا
systemctl stop sshd
با استفاده از دستورات ذیل، در صورتی که بسته nano (برای ویرایش فایلهای متنی) نصب نشده باشد، آن را نصب میکنیم:
apt-get update -y apt-get upgrade -y apt-get install -y nano
با استفاده از دستور adduser یک کاربر (مثلا به نام sshuser) ایجاد میکنیم:
adduser sshuser
برای اینکه به این کاربر دسترسی root بدهیم، از دستور ذیل استفاده میکنیم:
usermod -aG sudo sshuser
چون میخواهیم فایل تنظیمات openssh-server را ویرایش نماییم، قبل از اعمال تغییرات، با استفاده از دستور ذیل، یک کپی از آن ایجاد میکنیم. این عمل را به این دلیل انجام میدهیم که اگر فایل مذکور را به صورت نادرستی ویرایش کردیم، بتوانیم مجددا از نسخه اوریجینال آن استفاده نماییم!
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
از طریق برنامه nano، فایل تنظیمات مربوط به openssh-server را ویرایش میکنیم:
nano /etc/ssh/sshd_config
در صورت تمایل میتوانیم یکی یا همه تنظیمات ذیل را در داخل فایل تنظیمات و در انتهای فایل مذکور، درج کرده و یا اصطلاحا Paste نماییم:
Port 22 AllowUsers sshuser PermitRootLogin yes UsePrivilegeSeparation no PasswordAuthentication yes
نکات مهم: سرویس SSH به طور پیشفرض با Port شماره ۲۲ کار میکند که البته برای بالا بردن ضریب امنیت، میتوانیم شماره دیگری را به آن اختصاص دهیم. به طور مثال، میتوانیم در متن فوق، پورت مورد نظر را به جای عدد ۲۲، عدد ۲۲۲ انتخاب نماییم. برای بالا بردن ضریب امنیت معمولا PermitRootLogin را برابر no قرار میدهیم، چرا که خیلی صلاح نیست که بتوانیم با شناسهکاربری root و از طریق سرویس SSH، وارد سیستم شویم.
فایل مذکور را ذخیره کرده و از محیط ویرایشگر Nano به روش ذیل خارج میشویم:
CTRL + X -> y -> ENTER
حال سرویس sshd را توسط یکی از دستورات ذیل Start میکنیم:
service sshd start
و یا
systemctl start sshd
در صورتی که بخواهیم هروقت که سیستمعامل لینوکس Boot گردید، این سرویس (sshd) به صورت خودکار راهاندازی شود، از دستور ذیل استفاده میکنیم:
systemctl enable ssh
نکته مهم: باید دقت داشته باشیم که به جای دستور فوق، دستور ذیل را وارد اجرا نکنیم!
systemctl enable sshd
در صورتی که دیوارآتش (Firewall) بر روی سیستم نصب و فعال باشد، سرویس ssh و یا پورت مربوط به آنرا با استفاده از دستور ذیل آزاد میکنیم:
ufw allow ssh
و یا
ufw allow 22
و یا
ufw allow 22/tcp
برای کسب اطلاعات بیشتر در خصوص مفاهیم، نصب و راهاندازی دیوارآتش (Firewall) در لینوکس اوبونتو، میتوانید به مقاله ذیل مراجعه نمایید:
پایان