تکنولوژی SSH (Secure Shell) امکان کنترل از راه دور کنترل کامپیوتر از طریق یک اتصال امن را فراهم می کند. SSH تمامی فایل های منتقل شده، از جمله رمزهای عبور را رمزگذاری می کند، و همچنین هر گونه پروتکل شبکه را به طور کامل انتقال می دهد. برای اینکه ابزار به درستی کار کند، لازم است نه تنها آن را نصب کنید، بلکه باید آن را پیکربندی کنید. ما می خواهیم در مورد محصول پیکربندی اصلی در این مقاله صحبت کنیم، به عنوان مثال، آخرین نسخه سیستم عامل اوبونتو که در آن سرور قرار می گیرد، قرار می گیرد.
پیکربندی SSH در اوبونتو
اگر نصب را روی سرور و رایانه های شخصی مشتری انجام ندهید، ابتدا باید آن را انجام دهید، زیرا تمام روش بسیار ساده است و زمان زیادی را صرف نمی کند. برای راهنمایی بیشتر در مورد این موضوع، مقاله دیگر ما را در لینک زیر مشاهده کنید. این همچنین روند ویرایش فایل پیکربندی و تست SSH را نشان می دهد، بنابراین امروز ما در مورد سایر وظایف ساکن خواهیم بود.
ادامه مطلب: نصب سرور SSH در اوبونتو
ایجاد یک جفت کلید RSA
SSH جدید نصب شده کلیدهای مشخص شده برای اتصال از سرور به سرویس گیرنده و بالعکس ندارد. همه این پارامترها باید بلافاصله پس از اضافه کردن تمام اجزاء پروتکل به صورت دستی تنظیم شوند. جفت کلیدی با استفاده از الگوریتم RSA (به نام نام توسعهدهندگان Rivest، Shamir و Adleman) کار می کند. با تشکر از این رمزنگاری، کلید های ویژه با استفاده از الگوریتم های خاص رمزگذاری می شوند. برای ایجاد یک جفت کلید عمومی، فقط باید دستورات مناسب را در کنسول وارد کنید و دستورالعمل های ظاهر شده را دنبال کنید.
- برو به کار با "ترمینال" هر روش مناسب، به عنوان مثال، با باز کردن آن از طریق یک منو یا ترکیبی از کلیدها Ctrl + Alt + T.
- دستور را وارد کنید
ssh-keygen
و سپس کلید را فشار دهید وارد شوید. - از شما خواسته می شود فایل ایجاد کنید که کلید آن ذخیره شود. اگر می خواهید آنها را در مکان پیش فرض نگه دارید، فقط روی آن کلیک کنید وارد شوید.
- کلید عمومی را می توان با عبارت کد محافظت کرد. اگر می خواهید از این گزینه استفاده کنید، در خط ظاهر رمز عبور را وارد کنید. شخصیت های وارد شده نمایش داده نخواهد شد. خط جدید باید آن را تکرار کنید.
- علاوه بر این، یک اعلان دریافت خواهید کرد که کلیدی ذخیره شده است و شما همچنین می توانید با تصویر گرافیکی تصادفی آن آشنا شوید.
در حال حاضر یک جفت کلید ایجاد شده - راز و باز است که برای ارتباط بیشتر بین رایانه ها استفاده می شود. شما فقط نیاز به قرار دادن کلید در سرور به طوری که احراز هویت SSH موفق است.
کپی کلید عمومی به سرور
سه روش برای کپی کلید ها وجود دارد. هر کدام از آنها در موقعیت های مختلف مطلوب خواهد بود که به عنوان مثال، یکی از روش ها کار نمی کند یا برای یک کاربر خاص مناسب نیست. ما پیشنهاد می کنیم همه سه گزینه را در نظر بگیریم، با شروع ساده ترین و موثرتر.
گزینه 1: فرمان ssh-copy-id
تیمssh-copy-id
ساخته شده به سیستم عامل، بنابراین برای اجرای آن نیازی به نصب هر گونه اجزای اضافی. دستورالعمل ساده را برای کپی کلید دنبال کنید. در "ترمینال" باید وارد شودssh-copy-id نام کاربری @ remote_host
کجا نام کاربری @ remote_host - نام کامپیوتر راه دور.
هنگامی که شما برای اولین بار ارتباط برقرار می کنید، یک متن اعلان دریافت خواهید کرد:
اعتبار میزبان '203.0.113.1 (203.0.113.1)' را نمی توان ثابت کرد.
اثر انگشت کلید ECDSA fd: fd: d4: f9: 77: fe: 73: 84: e1: 55: 00: ad: d6: 6d: 22: fe.
آیا مطمئن هستید که میخواهید اتصال را ادامه دهید (بله / خیر)؟ بله
شما باید یک گزینه را مشخص کنید بله برای ادامه ارتباط بعد از این، ابزار به صورت مستقل کلید را به صورت یک فایل جستجو می کند.id_rsa.pub
که قبلا ساخته شده بود پس از تشخیص موفق، نتیجه زیر نمایش داده می شود:
/ usr / bin / ssh-copy-id: INFO: من قبلا نصب کردم
/ usr / bin / ssh-copy-id: INFO: 1 کلید (ها) همچنان نصب می شود
رمز عبور [email protected]:
رمز عبور را از میزبان راه دور مشخص کنید تا ابزار بتواند آن را وارد کند. ابزار داده ها را از پرونده کلید عمومی کپی می کند. ~ / .ssh / id_rsa.pubو سپس پیام بر روی صفحه ظاهر می شود:
حالا وارد دستگاه شوید، با: "ssh 'username_203.0.113.1'"تعداد کلید (ها) اضافه شده: 1
آن را چک کنید
ظاهر چنین متن به این معنی است که کلیدی به صورت موفقیتی از طریق کامپیوتر راه اندازی شده است و در حال حاضر هیچ مشکلی با اتصال وجود نخواهد داشت.
گزینه 2: کلید عمومی را از طریق SSH کپی کنید
اگر قادر به استفاده از ابزار فوق نباشید، اما برای وارد شدن به سرور SSH از راه دور، یک رمز عبور دارید، می توانید کلید کاربر خود را به صورت دستی بارگذاری کنید، بنابراین هنگام تأیید صحت احراز هویت بیشتر، اطمینان حاصل می شود. برای این فرمان استفاده می شود گربهکه داده ها را از فایل خواند، و سپس آنها را به سرور ارسال می کنند. در کنسول، باید خط را وارد کنید
گربه ~ / .ssh / id_rsa.pub | ssh username @ remote_host "mkdir -p ~ / .ssh && touch ~ / .ssh / authorized_keys && chmod -R برو = ~ / .ssh && cat >> ~ / .ssh / authorized_keys"
.
وقتی یک پیام ظاهر می شود
اعتبار میزبان '203.0.113.1 (203.0.113.1)' را نمی توان ثابت کرد.
اثر انگشت کلید ECDSA fd: fd: d4: f9: 77: fe: 73: 84: e1: 55: 00: ad: d6: 6d: 22: fe.
آیا مطمئن هستید که میخواهید اتصال را ادامه دهید (بله / خیر)؟ بله
ادامه اتصال و وارد کردن گذرواژه برای ورود به سرور. پس از آن، کلید عمومی به طور خودکار به پایان فایل پیکربندی کپی می شود. authorized_keys.
گزینه 3: دستی کلید عمومی را کپی می کند
در صورت عدم دسترسی به یک کامپیوتر از راه دور از طریق یک سرور SSH، تمام مراحل فوق بصورت دستی انجام می شود. برای انجام این کار ابتدا از طریق فرمان از کلید کامپیوتر سرور استفاده کنیدگربه ~ / .ssh / id_rsa.pub
.
صفحه نمایش چیزی شبیه به این خواهد داشت:ssh-rsa + کلید به عنوان مجموعه کاراکتر == demo @ test
. پس از آن به کار بر روی دستگاه از راه دور، که در آن ایجاد یک دایرکتوری جدید از طریقmkdir -p ~ / .ssh
. علاوه بر این یک فایل ایجاد می کند.authorized_keys
. بعد، کلید را که قبلا یاد گرفته اید وارد کنیدرشته کلید اکو + کلید عمومی >> ~ / .ssh / authorized_keys
. پس از آن، می توانید بدون استفاده از کلمه عبور، سعی در تایید هویت با سرور داشته باشید.
تأیید اعتبار در سرور از طریق کلید تولید شده
در قسمت قبلی، شما درباره سه روش برای کپی کردن کلید یک کامپیوتر از راه دور به یک سرور یاد گرفتید. چنین اقداماتی به شما امکان اتصال بدون استفاده از رمز عبور را می دهد. این روش با تایپ کردن از خط فرمان انجام می شودshh ssh نام کاربری @ remote_host
کجا نام کاربری @ remote_host - نام کاربری و میزبان کامپیوتر مورد نظر. هنگامی که شما برای اولین بار ارتباط برقرار می کنید، از یک اتصال ناشناس مطلع خواهید شد و می توانید با انتخاب این گزینه ادامه دهید بله.
اتصال به طور خودکار رخ خواهد داد در صورتی که در هنگام ایجاد جفت کلید یک عبارت عبور مشخص نشده باشد. در غیر این صورت، ابتدا باید آن را برای ادامه کار با SSH وارد کنید.
غیرفعال کردن رمز عبور احراز هویت
تنظیمات موفقیت آمیز کپی کلید در وضعیتی است که می توانید بدون استفاده از رمز عبور وارد سرور شوید. با این حال، توانایی تأیید اعتبار در این روش به مهاجمان اجازه می دهد از ابزارها برای یافتن رمز عبور و شکستن یک اتصال امن استفاده کنند. برای محافظت از خود از چنین مواردی، امکان غیر فعال کردن رمز ورود ورود در پرونده پیکربندی SSH را فراهم می کند. این نیاز دارد:
- در "ترمینال" فایل پیکربندی را از طریق ویرایشگر با استفاده از دستور باز کنید
sudo gedit / etc / ssh / sshd_config
. - خط را پیدا کن PasswordAuthentication و علامت را حذف کنید # در ابتدا پارامتر را غیرفعال کنید.
- ارزش را به آن تغییر دهید نه و تنظیمات فعلی را ذخیره کنید.
- ویرایشگر را ببندید و سرور را راه اندازی مجدد کنید.
sudo systemctl restart ssh
.
احراز هویت رمز عبور غیرفعال خواهد شد و شما تنها با استفاده از کلید های ویژه برای این الگوریتم RSA قادر به ورود به سرور خواهید بود.
راه اندازی یک فایروال استاندارد
در اوبونتو، فایروال پیش فرض فایروال فایروال غیر عادی (UFW) است. این اجازه می دهد تا شما اجازه اتصالات برای خدمات انتخاب شده را داشته باشید. هر برنامه مشخصات خود را در این ابزار ایجاد می کند و UFW با اجازه دادن یا رد ارتباطات آنها را مدیریت می کند. پیکربندی پروفایل SSH با اضافه کردن آن به لیست انجام می شود به شرح زیر است:
- لیست پرونده های فایروال را با استفاده از دستور باز کنید
لیست برنامه sudo ufw
. - رمز عبور حساب خود را برای نمایش اطلاعات وارد کنید
- شما یک لیست از برنامه های در دسترس را ببینید، OpenSSH باید در میان آنها باشد.
- اکنون باید اتصالات بیش از SSH را اجازه دهید. برای انجام این کار، آن را به لیست پروندههای مجاز با استفاده از آن اضافه کنید
sudo ufw اجازه OpenSSH را می دهد
. - با به روز رسانی قوانین، فایروال را فعال کنید
sudo ufw فعال کردن
. - برای اطمینان از اینکه اتصالات مجاز هستند، باید نوشت
وضعیت sudo ufw
، سپس وضعیت شبکه را مشاهده خواهید کرد.
این دستورالعمل های پیکربندی SSH ما برای اوبونتو را تکمیل می کند. پیکربندی بیشتر پرونده پیکربندی و پارامترهای دیگر توسط هر کاربر به صورت شخصی توسط درخواستهای خود انجام می شود. شما می توانید با استفاده از تمام اجزای SSH را در اسناد رسمی پروتکل آشنا کنید.