Secure Shell (SSH) یک پروتکل شبکه برای ارتباط امن کلاینت و سرور است. هر تعاملی رمزگذاری شده است. این به شما این امکان را می دهد سرور را به طور کاملا امن مدیریت کنید، فایل ها را انتقال دهید و کارهای دیگر را در یک رفت و برگشت ایمن انجام دهید.

به عنوان مثال، شما یکی از سرورهای مجازی رادیب را سفارش داده اید و می خواهید آن را از طریق لپ تاپ خود مدیریت کنید. برای این کار فقط باید دسترسی SSH را تنظیم کنید. از طریق یک اتصال امن، شما قادر خواهید بود تمام اقدامات مدیریتی لازم را روی سرور خود انجام دهید.

 

برای پیکربندی موفق، باید:

نرم افزار اتصال به سرور از طریق SSH را روی سرور خود نصب کنید که بسته openssh-server آن را پشتیبانی خواهد کرد.

کلاینت SSH را روی کامپیوتر خود داشته باشید که از آن به میزبان راه دور متصل خواهید شد. برای این منظور معمولا از بسته openssh-client استفاده می شود. در اکثر توزیع های لینوکس و BSD و همچنین در آخرین نسخه های ویندوز از قبل نصب شده است. در نسخه‌های قدیمی‌تر ویندوز، باید ابزارهای کمکی دیگری را نصب کنید. یکی از محبوب ترین نرم افزارهای ویندوز برای اتصال SSH نرم افزار قدرتمند PuTTY است.

برای خرید سرور مجازی نامحدود ایران و سرورهای مجازی خارج کلیک کنید

 

فعال کردن SSH


به طور پیش فرض، دسترسی از راه دور از طریق یک پروتکل شبکه امن ممنوع است. با این حال، نصب SSH در اوبونتو بسیار آسان است.

کنسول سرور را در جایی که باید SSH را پیکربندی کنید راه اندازی کنید.

ابتدا اوبونتو را آپدیت کنید:

sudo apt update

نرم افزار زیر را نصب کنید:

sudo apt install openssh-server

هر دو عملیات به مجوز superuser نیاز دارند که با sudo باید دستور ها را وارد کنید.

در اوبونتو، OpenSSH پس از نصب به طور خودکار شروع می شود، اما می توانید وضعیت آن را با استفاده از دستور زیر بررسی کنید:

sudo systemctl status ssh

خروجی باید نشان دهد که سرویس در حال اجرا است و اجازه شروع به کار در بوت سیستم را دارد:

ssh.service - OpenBSD Secure Shell server
    Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2022-03-21 12:34:00 CEST; 1m ago

خروجی بالا به این معنی است که نصب با موفقیت انجام شده است. برای بازگشت به خط فرمان، کلید q را فشار دهید.

اگر سرویس فعال نیست، آن را به صورت دستی با دستور استارت کنید:

sudo systemctl enable --now ssh

اوبونتو با یک ابزار پیکربندی فایروال به نام UFW عرضه می شود. اگر فایروال روی سیستمتان فعال است، حتما پورت SSH را باز کنید:

sudo ufw allow ssh

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

 

ایجاد یک جفت کلید SSH


برای امن‌تر کردن اتصال و راحت‌تر کردن احراز هویت، از یک جفت کلید SSH استفاده کنید: یک کلید SSH عمومی و یک کلید خصوصی. کلید عمومی در هاست و کلید خصوصی در رایانه کاربر ذخیره می شود.

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

برای ایجاد یک pair کلید RSA 2048 بیتی جدید، یک ترمینال را باز کنید و دستور زیر را اجرا کنید:

ssh-keygen -t rsa

پیامی ظاهر می شود که از شما می پرسد کلیدها را کجا ذخیره کنید. اگر Enter را فشار دهید، سیستم جفت کلید را در مسیر پیش‌فرض پوشه اصلی SSH ذخیره می‌کند. همچنین می‌توانید مسیر دیگری را که می‌خواهید جفت کلید را در آن ذخیره کنید، تعیین کنید. با این حال، توصیه می شود از دایرکتوری پیش فرض استفاده کنید. مدیریت بیشتر را بسیار آسان تر می کند.

اگر قبلاً یک جفت کلید در رایانه مشتری ایجاد کرده اید، سیستم از شما می خواهد که آن را بازنویسی کنید. انتخاب کاملا به شما بستگی دارد، اما مراقب باشید. اگر بخواهید آن را بازنویسی کنید، نمی توانید از جفت کلید قبلی برای ورود به سرور استفاده کنید. و حذف خواهد شد. رفع این مشکل هم آسان است. فقط یک نام منحصر به فرد برای هر جفت جدید مشخص کنید. پوشه ذخیره سازی می تواند به همان صورت باقی بماند.

همچنین از شما خواسته می شود که یک کلمه عبور وارد کنید تا یک لایه امنیتی اضافی اضافه کنید که از دسترسی کاربران غیرمجاز به سرور جلوگیری می کند. اگر نمی خواهید از آن استفاده کنید Enter را فشار دهید.

برای اطمینان از ایجاد شدن کلیدها، دستور زیر را اجرا کنید:

ls -l ~/.ssh/id_*.pub. 

ترمینال لیستی از کلیدها را نمایش می دهد. به طور مشابه، می توانید یک جفت را در macOS یا نسخه های جدیدتر ویندوز ایجاد کنید.

اگر از سیستم عامل ویندوز قدیمی استفاده می کنید، باید مجموعه ابزار PuTTY را دانلود کنید. این شامل برنامه PuTTYgen است. برای ایجاد یک جفت کلید SSH، تنها کاری که باید انجام دهید این است که PuTTYgen را اجرا کنید و با ماوس خود بکشید. همچنین می‌توانید پوشه‌ای را برای ذخیره کلیدها انتخاب کنید و برای حداکثر محافظت یک کلمه عبور اضافه کنید.

 

افزودن کلید SSH به سرور


کلید خصوصی در رایانه ذخیره می شود. هرگز نباید آن را به کسی بدهید. اما باید قسمت عمومی را به سرور منتقل کنید. اگر به پسورد سروردسترسی دارید، می توانید کلید عمومی را با استفاده از ssh-copy-id انتقال دهید. دستور مثال:

ssh-copy-id radib@123.456.78.99 

به جای radib نام کاربری خود را وارد کنید، به جای 123.456.78.99 آدرس IP سرور را وارد کنید. پس از درخواست رمز عبور را وارد کنید و پس از آن کلید عمومی به هاست منتقل می شود.

برای اتصال به سرور با استفاده از کلیدهای SSH، دستور زیر را اجرا کنید:

ssh radib@123.456.78.99

به جای radib نام کاربری خود را وارد کنید، به جای 123.456.78.99 آدرس IP سرور را وارد کنید. اگر یک کلمه عبور تنظیم نکرده اید، بدون احراز هویت بیشتر وارد سیستم خواهید شد. سیستم امنیتی قسمت‌های عمومی و خصوصی کلید را بررسی می‌کند و در صورت مطابقت، اتصال برقرار می‌کند.

 

پیکربندی SSH

می توانید سرور اوبونتو خود را از طریق فایل /etc/ssh/sshd_config پیکربندی کنید. قبل از ایجاد تغییرات در آن، یک نسخه پشتیبان تهیه کنید. این کار کمک می کند تا اگر به طور ناگهانی اشتباهی مرتکب شوید، از هدر دادن زمان برای نصب مجدد جلوگیری می کند.

برای کپی کردن، دستور زیر را اجرا کنید:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults

/etc/ssh/sshd_config.factory-defaults تنظیمات پیش فرض را ذخیره می کند. شما فایل /etc/ssh/sshd_config را ویرایش خواهید کرد.

 

غیرفعال کردن احراز هویت رمز عبور


احراز هویت رمز عبور SSH در سرور اوبونتو بد نیست. استفاده از کلیدهای رمزگذاری برای احراز هویت یک جایگزین امن تر است. در این حالت ممکن است رمز عبور غیر ضروری باشد و می توانید آن را غیرفعال کنید.

فقط در صورتی باید احراز هویت رمز عبور را غیرفعال کنید که با مکانیزم احراز هویت کلید آشنا باشید و عواقب احتمالی از دست دادن دسترسی به سرور خود را درک کنید. برای غیرفعال کردن احراز هویت رمز عبور، به عنوان روت به سرور متصل شوید و فایل sshd_config را ویرایش کنید. مقدار پارامتر PasswordAuthentication را به جای Yes به No تغییر دهید.

سپس با اجرای دستور زیر سرویس SSH را راه اندازی مجدد کنید:

sudo systemctl restart sshd

 

هل كانت المقالة مفيدة ؟ 11 أعضاء وجدوا هذه المقالة مفيدة (11 التصويتات)