آموزش لینوکس - قسمت هفتم - نصب و راه‌اندازی سرویس SSH

آموزش سیستم عامل لینوکس اوتونتو - Ubuntu Linuxتوجه: این مقاله به مرور زمان، ویرایش و یا تکمیل می‌شود!تقاضا: در صورتی که با مشکل تایپی، دستوری و یا مفهومی در این مقاله برخورد کردید، از شما دوست عزیز و گرامی، صمیمانه تقاضا می‌کنم که اینجانب را مطلع کرده، تا نسبت به تصحیح و یا تکمیل آن، در اسرع وقت، اقدام نمایم.با کمال تشکرداریوش تصدیقیکانال تلگرام: 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) حذف می‌کنیم:بسته = Packageapt-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) در لینوکس اوبونتو، می‌توانید به مقاله ذیل مراجعه نمایید:مقاله دیوارآتشپایان