پیکربندی SSH در اوبونتو

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

پیکربندی SSH در اوبونتو

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

جزئیات بیشتر: نصب سرور SSH در اوبونتو

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

SSH جدید نصب شده کلیدهای مشخص شده برای اتصال از سرور به سرویس گیرنده و بالعکس ندارد. همه این پارامترها باید بلافاصله پس از اضافه کردن تمام اجزاء پروتکل به صورت دستی تنظیم شوند. جفت کلیدی با استفاده از الگوریتم RSA (به نام نام توسعهدهندگان Rivest، Shamir و Adleman) کار می کند. با تشکر از این رمزنگاری، کلید های ویژه با استفاده از الگوریتم های خاص رمزگذاری می شوند. برای ایجاد یک جفت کلید عمومی، فقط باید دستورات مناسب را در کنسول وارد کنید و دستورالعمل های ظاهر شده را دنبال کنید.

  1. به عنوان مثال، با باز کردن آن از طریق منو یا ترکیبی کلید Ctrl + Alt + T، به کار با ترمینال با استفاده از هر روش راحت بروید .
  2. اجرای ترمینال در اوبونتو برای پیکربندی SSH بیشتر

  3. تایپ ssh-keygen و سپس کلید Enter را فشار دهید.
  4. یک کلید SSH را از طریق کنسول در سیستم عامل اوبونتو ایجاد کنید

  5. از شما خواسته می شود فایل ایجاد کنید که کلید آن ذخیره شود. اگر می خواهید آنها را در مکان پیش فرض قرار دهید، فقط Enter را فشار دهید.
  6. یک فایل برای ذخیره کلید پروتکل SSH در اوبونتو انتخاب کنید

  7. کلید عمومی را می توان با عبارت کد محافظت کرد. اگر می خواهید از این گزینه استفاده کنید، در خط ظاهر، رمز عبور را وارد کنید. شخصیت های وارد شده نمایش داده نخواهد شد. خط جدید باید آن را تکرار کنید.
  8. در هنگام ایجاد یک کلید SSH در اوبونتو یک عبارت کلیدی وارد کنید

  9. علاوه بر این، یک اعلان دریافت خواهید کرد که کلیدی ذخیره شده است، و همچنین می توانید خود را با تصویر تصادفی تصادفی آشنا کنید.
  10. ایجاد کلید موفقیت برای SSH در سیستم عامل اوبونتو

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

کپی کلید عمومی به سرور

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

گزینه 1: فرمان ssh-copy-id

دستور ssh-copy-id در سیستم عامل ساخته شده است، بنابراین هیچ اجزایی اضافی برای اجرای آن نصب نشده است. دستورالعمل ساده را برای کپی کردن کلید دنبال کنید. در «ترمینال» باید ssh-copy-id username@remote_host ، در آنجا username @ remote_host نام کامپیوتر راه دور است.

کپی کلید SSH از طریق یک ابزار ویژه در اوبونتو

هنگامی که شما برای اولین بار متصل می کنید یک متن اعلان دریافت خواهید کرد:

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

شما باید گزینه Yes را برای ادامه اتصال مشخص کنید. پس از این، این ابزار به طور مستقل کلید را در قالب فایل id_rsa.pub که قبلا ساخته شده است. پس از تشخیص موفق، نتیجه زیر نمایش داده می شود:

/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:

رمز عبور را از میزبان راه دور مشخص کنید تا ابزار بتواند آن را وارد کند. این ابزار داده ها را از پرونده کلید عمومی ~ / .ssh / id_rsa.pub کپی می کند و سپس پیام بر روی صفحه ظاهر می شود:

Number of key(s) added: 1

حالا وارد دستگاه شوید، با: "ssh 'username_203.0.113.1'"
آن را چک کنید

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

گزینه 2: کلید عمومی را از طریق SSH کپی کنید

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

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys" .

کلید کپی شده را از طریق یک ابزار ویژه اوبونتو انتقال دهید

وقتی یک پیام ظاهر می شود

The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

ادامه اتصال و وارد کردن گذرواژه برای ورود به سرور. پس از آن، کلید عمومی به طور خودکار به پایان فایل configuration_ authorized_keys کپی می شود.

گزینه 3: کلید عمومی را کپی کنید

اگر از طریق یک سرور SSH دسترسی به یک کامپیوتر از راه دور وجود نداشته باشد، تمام مراحل فوق بصورت دستی انجام می شود. برای انجام این کار ابتدا در مورد کلید بر روی سرور سرور از طریق cat ~/.ssh/id_rsa.pub فرمان یاد بگیرید.

اطلاعات کلیدی را از طریق دستور گربه در اوبونتو مشاهده کنید

بر روی صفحه نمایش، خط زیر نمایش داده خواهد شد: ssh-rsa + ключ в виде набора символов== demo@test . پس از آن به کار بر روی دستگاه از راه دور، که در آن ایجاد یک دایرکتوری جدید از طریق mkdir -p ~/.ssh . علاوه بر این فایل file authorized_keys ایجاد می کند. بعد، کلید را که پیش از آن از طریق echo + строка публичного ключа >> ~/.ssh/authorized_keys وارد کردید وارد کنید echo + строка публичного ключа >> ~/.ssh/authorized_keys . پس از آن، می توانید بدون استفاده از کلمه عبور، سعی در تایید هویت با سرور داشته باشید.

تأیید اعتبار در سرور از طریق کلید تولید شده

در بخش قبلی، شما درباره سه روش برای کپی کردن کلید کامپیوتر از راه دور به یک سرور یاد گرفتید. چنین اقداماتی به شما امکان اتصال بدون استفاده از رمز عبور را می دهد. این روش از طریق خط فرمان با تایپ کردن اس اس اس اس shh ssh username@remote_host ، جایی که username @ remote_host نام کاربری و میزبان کامپیوتر مورد نظر است. هنگامی که شما برای اولین بار ارتباط برقرار می کنید، از یک اتصال ناشناس مطلع خواهید شد و با انتخاب گزینه Yes می توانید ادامه دهید.

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

اتصال به طور خودکار رخ خواهد داد در صورتی که در هنگام ایجاد جفت کلید یک عبارت عبور مشخص نشده باشد. در غیر این صورت، ابتدا باید آن را برای ادامه کار با SSH وارد کنید.

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

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

  1. در ترمینال، فایل پیکربندی را از طریق ویرایشگر با دستور sudo gedit /etc/ssh/sshd_config .
  2. اجرای پرونده پیکربندی SSH از طریق ویرایشگر در اوبونتو

  3. خط "PasswordAuthentication" را تعیین کرده و ابتدا علامت # را برای رونویسی پارامتر حذف کنید.
  4. یک رشته با احراز هویت رمز عبور در اوبونتو را رد کنید

  5. مقدار را به هیچ تغییر دهید و تنظیمات فعلی را ذخیره کنید.
  6. غیرفعال کردن رمز عبور SSH از طریق اوبونتو

  7. بستن ویرایشگر و راهاندازی sudo systemctl restart ssh سرور sudo systemctl restart ssh .
  8. راه اندازی SSH سرور در سیستم عامل اوبونتو

احراز هویت رمز عبور غیرفعال خواهد شد و شما می توانید تنها با استفاده از کلید های ویژه ای که برای این الگوریتم RSA ایجاد شده است، به سرور وارد شوید.

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

در اوبونتو، فایروال پیش فرض فایروال غیر عادی (UFW) است. این اجازه می دهد تا شما اجازه اتصالات برای خدمات انتخاب شده را داشته باشید. هر برنامه مشخصات خود را در این ابزار ایجاد می کند و UFW آنها را با اجازه یا رد اتصالات مدیریت می کند. پیکربندی پروفایل SSH با اضافه کردن آن به لیست به شرح زیر است:

  1. لیست پرونده فایروال را با استفاده از دستور sudo ufw app list .
  2. مشاهده یک لیست از پروفایل های فایروال استاندارد در اوبونتو

  3. رمز عبور حساب خود را برای نمایش اطلاعات وارد کنید
  4. ورود به یک رمز عبور برای مشاهده لیستی از پروفایل های فایروال استاندارد اوبونتو

  5. شما یک لیست از برنامه های در دسترس را ببینید، OpenSSH باید در میان آنها باشد.
  6. فهرست پروفایل های فایروال استاندارد در اوبونتو

  7. اکنون باید اتصالات بیش از SSH را اجازه دهید. برای انجام این کار، آن را به لیست پرونده های مجاز اضافه کنید با استفاده از sudo ufw allow OpenSSH .
  8. یک سرور SSH را برای اتصال به فایروال اوبونتو اضافه کنید

  9. فعال سازی فایروال با به روز رسانی قوانین، sudo ufw enable .
  10. قوانین به روز رسانی فایروال را در اوبونتو راه اندازی مجدد کنید

  11. برای اطمینان از اینکه اتصالات مجاز هستند، باید sudo ufw status ، پس از آن وضعیت شبکه را مشاهده خواهید کرد.
  12. مشاهده لیستی از اتصالات فایروال مجاز در اوبونتو

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