ورود از راه دور یکی از سادهترین راهها برای مدیریت سرورها در اینترنت بوده است. اتصال امن کلید این روش است و تضمین میکند که دادههای مهم از تهدیدات آنلاین در امان میمانند. SSH یکی از روشهای ورود امن از راه دور است که به طور گسترده توسط شرکتها و کاربران خانگی مورد استفاده قرار میگیرد و به شما اطمینان میدهد که روی سرور اوبونتو خود کار میکنید.
SSH چیست؟ #
پروتکل پوسته امن (SSH) یک پروتکل شبکه رمزنگاری است که عمدتاً برای ورود از راه دور استفاده میشود. این پروتکل، سرویسهای شبکه را به صورت ایمن بر روی یک شبکه ناامن ایجاد میکند و برای سیستمهای شبه یونیکس طراحی شده است تا جایگزین سرویس ناامن Telnet شود که در اوایل دوران اینترنت استفاده میشد. SSH از زیرساخت رمزنگاری کلید عمومی برای احراز هویت طرفین ارتباط استفاده میکند.
OpenSSH محبوبترین پیادهسازی SSH مورد استفاده در اینترنت است. این پروتکل متنباز است و مجموعهای از ابزارها را برای ورود از راه دور و انتقال امن فایلها ارائه میدهد.
پیش نیازها #
نحوه فعال کردن SSH در اوبونتو #
مراحل زیر نحوه نصب SSH را پوشش میدهد . همچنین نحوه پیکربندی کلیدهای SSH و ایمنسازی سرور SSH را به شما نشان خواهیم داد.
ارتقا بستههای اوبونتو #
ابتدا لیست بستههای خود را با دستور زیر بهروزرسانی میکنیم:
sudo apt-get update
اکنون بستههای خود را ارتقا میدهیم تا مطمئن شویم که جدیدترین و وصلههای SSH را برای نسخه اوبونتو خود داریم .
sudo apt-get upgrade
نصب OpenSSH #
روی سرور شما #
اکنون که بستههای ما ارتقا یافتهاند، میتوانیم سرور SSH، OpenSSH، را با استفاده از دستور زیر نصب کنیم:
sudo apt install openssh-server
روی کلاینت شما #
openssh-clientبرای اتصال به سرور ssh خود، باید آن را روی ایستگاه کاری کلاینت خود نصب کنید .
sudo apt install openssh-client
پیکربندی سرور SSH #
به طور پیشفرض، فایل پیکربندی در آدرس زیر قرار دارد/etc/ssh/sshd_config
نکته
man sshd_configبرای دسترسی به راهنمای فایل پیکربندی SSH daemon و مشاهده لیست کاملی از گزینهها برای پیکربندی سرور SSH، در خط فرمان ترمینال خود تایپ کنید .
فایل پیکربندی خود را بررسی کنید #
از آنجایی که SSH اغلب یک سرویس حیاتی است که امکان دسترسی از راه دور به سرورها را فراهم میکند، از دست دادن اتصال پس از پیکربندی سرور ممکن است مانع از دسترسی شما به این سرور شود.
برای جلوگیری از این مشکل، میتوانید قبل از بارگذاری تنظیمات جدید، پیکربندی ssh خود را تأیید کنید.
برای تأیید پیکربندی، از دستور زیر استفاده کنید:
sudo sshd -t -f /etc/ssh/sshd_config
در صورت وجود خطا در فایل پیکربندی، دستور، محل خطا را مانند مثال زیر نمایش میدهد:
$ sudo sshd -t -f /etc/ssh/sshd_config
/etc/ssh/sshd_config line 1: no argument after keyword "a"
/etc/ssh/sshd_config: terminating, 1 bad configuration options
در غیر این صورت، اگر خطایی در پیکربندی وجود نداشته باشد، میتوانید سرور SSH را مجدداً راهاندازی کنید که پیکربندی SSH شما را مجدداً بارگذاری میکند.
برای ریستارت کردن سرور SSH از دستور زیر استفاده کنید:
sudo systemctl restart sshd.service
یک بنر به سرور خود اضافه کنید #
سرور SSH به شما این امکان را میدهد که وقتی کسی سعی در اتصال به سرور شما دارد، یک پیام پیش از ورود یا بنر نمایش دهید. این میتواند یک راهنما، هشدار یا صرفاً ارائه اطلاعات عمومی در مورد سرور شما باشد.
برای افزودن یک بنر به سرور خود، Bannerدستورالعمل را به فایل خود اضافه کنید /etc/ssh/sshd_config. به عنوان مثال، برای استفاده از فایل /etc/issue.netبه عنوان بنر، خط زیر را به فایل پیکربندی خود اضافه کنید:
Banner /etc/issue.net
سرور را برای بارگذاری پیکربندی جدید، مجدداً راهاندازی کنید:
sudo systemctl restart sshd.service
کلیدهای SSH #
ایجاد کلیدها روی کلاینت #
برای برقراری اتصالات بدون رمز عبور و ایمنتر به سرور SSH خود، باید یک جفت کلید SSH در ایستگاه کاری کلاینت خود ایجاد کنید. این کلید سپس در سرور SSH شما کپی میشود.
از ایستگاه کاری کلاینت خود، کلیدها را با استفاده از دستور زیر تولید کنید:
ssh-keygen -t rsa
میتوانید کلید خود را با یک رمز عبور ایمن کنید یا Enterبرای تولید کلید بدون رمز عبور، روی آن ضربه بزنید.
این دستور با استفاده از الگوریتم RSA یک کلید خصوصی و عمومی تولید میکند. کلیدهای تولید شده در ~/.ssh/پوشه قرار دارند. کلید خصوصی id_rsaو کلید عمومی هستند id_rsa.pub.
کپی کردن کلیدها به سرور #
اکنون میتوانید کلید عمومی را در سرور SSH خود کپی کنید:
ssh-copy-id username@remotehost
این به سرور شما اضافه خواهد شد . برای اینکه اتصال برقرار شود، ~/.ssh/authorized_keysفایل باید مجوز داشته باشد .۶۰۰
برای تنظیم مجوز، از دستور زیر در سرور استفاده کنید:
chmod 600 .ssh/authorized_keys
سرور SSH را ایمن کنید #
برای ایمنسازی سرور، اتصالات مبتنی بر رمز عبور را غیرفعال خواهیم کرد.
دستورالعملهای زیر را به فایل خود اضافه کنید /etc/ssh/sshd_config:
KbdInteractiveAuthentication yes
PasswordAuthentication no
AuthenticationMethods publickey,keyboard-interactive
این کار اتصالات مبتنی بر رمز عبور را غیرفعال میکند در حالی که سایر روشهای تعاملی با صفحهکلید را که ممکن است در راهاندازی 2FA مفید باشند، مجاز میکند. همچنین امکان اتصال با استفاده از کلید عمومی شما را فراهم میکند.
برای بارگذاری مجدد پیکربندی، سرور ssh خود را مجدداً راهاندازی کنید:
sudo systemctl restart sshd.service
نکته
برای ایمنتر کردن سرور SSH خود و مسدود کردن خودکار مهاجمان احتمالی، نصب آن را در نظر بگیرید
fail2ban. همچنین میتوانید پورت پیشفرض sshd (پورت ۲۲) را تغییر دهید تا تلاشهای اتصال از سوی رباتهای خودکار کاهش یابد.
نتیجه گیری #
در این آموزش، ما SSH چیست و نحوه نصب سرور SSH در اوبونتو را بررسی کردیم. همچنین پیکربندی اولیه مورد نیاز برای اجرا و ایمن سازی سرور شما، از جمله تولید کلیدهای SSH، را پوشش دادیم.
