ویرگول
ورودثبت نام
Dariush Tasdighi - داریوش تصدیقی
Dariush Tasdighi - داریوش تصدیقی
خواندن ۴ دقیقه·۵ سال پیش

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

آموزش سیستم عامل لینوکس اوتونتو - Ubuntu Linux
آموزش سیستم عامل لینوکس اوتونتو - 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) حذف می‌کنیم:

بسته = 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) در لینوکس اوبونتو، می‌توانید به مقاله ذیل مراجعه نمایید:

مقاله دیوارآتش

پایان

linuxsshopensshssh server
محقق، معمار، مشاور، مدرس و برنامه‌نویس حوزه فن‌آوری اطلاعات - تحلیل‌گر و فعال بازار بورس و سرمایه
شاید از این پست‌ها خوشتان بیاید