تکنولوژی SSH (Secure Shell) امکان کنترل از راه دور کنترل کامپیوتر از طریق یک اتصال امن را فراهم می کند. SSH تمامی فایل های منتقل شده از جمله رمزهای عبور را رمزگذاری می کند و همچنین هر پروتکل شبکه را انتقال می دهد. برای اینکه ابزار به درستی کار کند، لازم است نه تنها آن را نصب کنید، بلکه باید آن را پیکربندی کنید. ما می خواهیم در مورد محصول پیکربندی اصلی در این مقاله صحبت کنیم، به عنوان مثال، آخرین نسخه سیستم عامل اوبونتو که در آن سرور قرار می گیرد، قرار می گیرد.
محتوا
اگر نصب را روی سرور و رایانه های شخصی مشتری انجام ندهید، ابتدا باید آن را انجام دهید، زیرا تمام روش بسیار ساده است و زمان زیادی را صرف نمی کند. برای راهنمایی بیشتر در مورد این موضوع، مقاله دیگر ما را در لینک زیر مشاهده کنید. این همچنین روند ویرایش فایل پیکربندی و تست SSH را نشان می دهد، بنابراین امروز ما در مورد سایر وظایف ساکن خواهیم بود.
جزئیات بیشتر: نصب سرور SSH در اوبونتو
SSH جدید نصب شده کلیدهای مشخص شده برای اتصال از سرور به سرویس گیرنده و بالعکس ندارد. همه این پارامترها باید بلافاصله پس از اضافه کردن تمام اجزاء پروتکل به صورت دستی تنظیم شوند. جفت کلیدی با استفاده از الگوریتم RSA (به نام نام توسعهدهندگان Rivest، Shamir و Adleman) کار می کند. با تشکر از این رمزنگاری، کلید های ویژه با استفاده از الگوریتم های خاص رمزگذاری می شوند. برای ایجاد یک جفت کلید عمومی، فقط باید دستورات مناسب را در کنسول وارد کنید و دستورالعمل های ظاهر شده را دنبال کنید.
ssh-keygen
و سپس کلید Enter را فشار دهید. در حال حاضر یک جفت کلید ایجاد شده - مخفی و عمومی وجود دارد که برای اتصال بیشتر بین رایانه ها استفاده می شود. شما فقط نیاز به قرار دادن کلید در سرور به طوری که احراز هویت SSH موفق است.
سه روش برای کپی کلید ها وجود دارد. هر کدام از آنها در موقعیت های مختلف مطلوب خواهد بود که به عنوان مثال، یکی از روش ها کار نمی کند یا برای یک کاربر خاص مناسب نیست. ما پیشنهاد می کنیم همه سه گزینه را در نظر بگیریم، با شروع ساده ترین و موثرتر.
گزینه 1: فرمان ssh-copy-id
دستور ssh-copy-id
در سیستم عامل ساخته شده است، بنابراین هیچ اجزایی اضافی برای اجرای آن نصب نشده است. دستورالعمل ساده را برای کپی کردن کلید دنبال کنید. در «ترمینال» باید ssh-copy-id username@remote_host
، در آنجا username @ remote_host نام کامپیوتر راه دور است.
هنگامی که شما برای اولین بار متصل می کنید یک متن اعلان دریافت خواهید کرد:
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 کامل کند. این نیاز دارد:
sudo gedit /etc/ssh/sshd_config
. sudo systemctl restart ssh
سرور sudo systemctl restart ssh
. احراز هویت رمز عبور غیرفعال خواهد شد و شما می توانید تنها با استفاده از کلید های ویژه ای که برای این الگوریتم RSA ایجاد شده است، به سرور وارد شوید.
در اوبونتو، فایروال پیش فرض فایروال غیر عادی (UFW) است. این اجازه می دهد تا شما اجازه اتصالات برای خدمات انتخاب شده را داشته باشید. هر برنامه مشخصات خود را در این ابزار ایجاد می کند و UFW آنها را با اجازه یا رد اتصالات مدیریت می کند. پیکربندی پروفایل SSH با اضافه کردن آن به لیست به شرح زیر است:
sudo ufw app list
. sudo ufw allow OpenSSH
. sudo ufw enable
. sudo ufw status
، پس از آن وضعیت شبکه را مشاهده خواهید کرد. این دستورالعمل های پیکربندی SSH ما برای اوبونتو را تکمیل می کند. پیکربندی بیشتر پرونده پیکربندی و پارامترهای دیگر توسط هر کاربر به صورت شخصی توسط درخواستهای خود انجام می شود. شما می توانید با استفاده از تمام اجزای SSH را در اسناد رسمی پروتکل آشنا کنید.