SSH (پوسته امن) - یک پروتکل برای ایجاد یک ارتباط رمز شده بین یک سرویس گیرنده و یک سرور. با تشکر از این تکنولوژی، شما می توانید از راه دور کامپیوتر را کنترل کنید. تعامل با این ابزار در ترمینال رخ می دهد و به طور پیش فرض به سیستم عامل CentOS 7 اضافه می شود. بنابراین، امروز ما می خواهیم جزئیات روش استاندارد پیکربندی را بررسی کنیم که برای هر کسی که با SSH کار می کند، مفید خواهد بود.
محتوا
فرایند پیکربندی برای هر یک از مدیران سیستم شخصی است، اما هنوز تعداد کمی از موارد برای همه کاربران مفید است. در این مقاله، ما نه تنها درباره جزء سرور، بلکه در مورد مولفه ی مشتری، و نیز نشان می دهیم که دستگاه یک عمل خاص را انجام می دهد.
قبلا گفته ایم که SSH به طور پیش فرض به لیست کتابخانه های سیستم CentOS 7 اضافه می شود، اما بعضی اوقات به دلایلی اجزای لازم در رایانه وجود ندارد. در این مورد، آنها نیاز به اضافه کردن، و سپس فعال کردن سرور.
sudo yum -y install openssh-server openssh-clients
دستور وجود دارد. sudo chkconfig sshd on
یک بررسی پیکربندی انجام دهید. service sshd start
. netstat -tulpn | grep :22
netstat -tulpn | grep :22
. پس از اتمام کامل دستورالعمل فوق، می توانید با ایمن به ابتدای تنظیمات حرکت کنید. ما می خواهیم توجه شما را به این واقعیت جلب کنیم که لازم است خواندن اعلان های نشان داده شده روی صفحه در هنگام فعال شدن دستورات. آنها ممکن است وقوع خطاهای خاصی را نشان دهند. اصلاح موقتی تمام مشکلات کمک خواهد کرد تا از مشکلات بیشتر جلوگیری شود.
البته، فایل پیکربندی فقط در اختیار مدیر سیستم ویرایش می شود. با این حال، ما می خواهیم نشان دهیم که چگونه آن را در یک ویرایشگر متن اجرا کنیم و مواردی که باید آن را اولویت بندی کنیم.
sudo yum install nano
. وقتی نصب کامل است، فایل پیکربندی را از طریق sudo nano /etc/ssh/sshd_config
. sudo service sshd restart
تا تغییرات اعمال شوند. service sshd status
. ویرایش پرونده پیکربندی بسیاری از پارامترها را تغییر می دهد، اما فرایند اصلی - اضافه کردن و پیکربندی کلید ها - با استفاده از دستورات خاص انجام می شود، که ما می خواهیم در مورد بیشتر صحبت کنیم.
الگوریتم رمزنگاری RSA (مخفف نام Rivest، Shamir و Adleman) توسط سرویس SSH برای ایجاد یک جفت کلیدی استفاده می شود. این عمل به شما امکان می دهد تا هنگام اتصال اتصالات، مشتری و سرور را به حداکثر امن کنید. شما باید از هر دو زنجیر برای ایجاد یک جفت کلید استفاده کنید.
ssh-keygen
. پس از اتمام موفقیت آمیز دستورالعمل فوق، کلیدهای عمومی و خصوصی ظاهر می شوند که برای تأیید هویت با سرور در آینده مورد استفاده قرار می گیرد. با این حال، برای انجام این کار، کلید باید به سرور منتقل شود و ورود رمز عبور را غیرفعال کند.
همانطور که در بالا ذکر شد، کپی کلید ضروری است برای احراز هویت بدون رمز عبور. برای انجام چنین اقدام می تواند یکی از سه راه باشد، که هر کدام در شرایط خاص مطلوب خواهند بود. بیایید همه آنها را به ترتیب در نظر بگیریم.
ابزار Ssh-copy-id
کپی کردن کلید عمومی از طریق ابزار ssh-copy-id ساده ترین روش است. با این حال، این تنها مناسب است اگر این ابزار بسیار در کامپیوتر وجود دارد. شما باید فقط یک دستور ssh-copy-id username@remote_host
، جایی که username @ remote_host نام کاربری و میزبان سرور از راه دور است.
اگر اتصال برای اولین بار ساخته شده است، بر روی صفحه نمایش یک پیام از یک طبیعت مشابه را ببینید:
The authenticity of host '111.111.11.111 (111.111.11.111)' 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
انتخاب کنید.
فقط برای وارد کردن گذرواژه برای حساب سرور باقی مانده است، و روش کپی از طریق ابزار فوق با موفقیت به پایان خواهد رسید.
کپی کلید عمومی بیش از SSH
در غیاب ابزار ssh copy-id توصیه می کنیم از ویژگی های استاندارد ابزار SSH استفاده کنید، البته اگر به حساب سرور دسترسی دارید. تخلیه کلید ها از طریق یک اتصال منظم انجام می شود، یعنی:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
تایپ کنید cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
، که در آن username @ remote_host نام حساب و میزبان کامپیوتر از راه دور است. توجه داشته باشید که گزینه >> کلید را به انتهای فایل اضافه می کند و به طور کامل آن را بازنویسی نخواهد کرد. بنابراین کلید های قبلا وارد شده نیز ذخیره می شوند. sudo service sshd restart
تا لیست های کلید به روز شود. کپی دستی از کلید عمومی
گاهی اوقات شرایطی وجود دارد که استفاده از ابزار ssh-copy-id غیرممکن است و همچنین دسترسی به رمز عبور وجود ندارد. سپس کپی به صورت دستی انجام می شود.
cat ~/.ssh/id_rsa.pub
در کنسول پیدا کنید. mkdir -p ~/.ssh
. اگر پوشه در حال حاضر وجود داشته باشد، دستور هیچ کاری انجام نخواهد داد. echo public_key_string >> ~/.ssh/authorized_keys
کلید را به فایل اضافه می کند و یا برای اولین بار فایل را در صورت عدم وجود آن ایجاد می کند. به جای "public_key_string"، شما باید رشته قبلا به دست آمده با کلید وارد کنید. این روند کپی کلید را با موفقیت انجام می دهد. به همین دلیل، احراز هویت سرور با وارد کردن ssh username@remote_host
. با این حال، شما می توانید از طریق یک رمز عبور متصل شوید که امنیت آن را کاهش می دهد.
غیر فعال کردن توانایی ورود به سیستم با یک رمز عبور، دور زدن کلید، باعث می شود که چنین اتصال از راه دور کمتر امن باشد. بنابراین، توصیه می شود این ویژگی را غیرفعال کنید تا از ورودکنندگان از تأیید هویت غیر مجاز جلوگیری شود.
sudo nano /etc/ssh/sshd_config
. no
تغییر دهید. sudo systemctl restart sshd.service
. این مقاله، که در آن شما به نقاط پیکربندی اولیه پروتکل SSH معرفی شد، به پایان می رسد. ما به شدت توصیه می کنیم محتویات خروجی را پس از فعال کردن دستورات بررسی کنید، زیرا گاهی اوقات توصیف خطاها وجود دارد. به دنبال راه حل خود در اسناد رسمی این ابزار یا توزیع CentOS هستید.