ورود بدون رمز SSH در لینوکس
موضوعاتی که در این مقاله به آنها پرداخته خواهد شد، به شرح زیر است:
ورود بدون رمز SSH در لینوکس ، پروتکل SSH (Secure Shell) یک راهحل متنباز و ایمن برای دسترسی و مدیریت سرورهای از راه دور است. این ساختار به مدیران سیستم امکان میدهد تا از طریق برقراری یک ارتباط رمزنگاری شده، دستورات و برنامهها را بر روی سرورهای لینوکس یا یونیکس اجرا کنند.
علاوه بر اجرای دستورات، SSH قابلیت انتقال ایمن فایلها بین دو سیستم را از طریق دستورات `scp` (Secure Copy) و `rsync` (Remote synchronize) فراهم میکند. این ویژگیها SSH را به ابزاری قدرتمند برای مدیریت زیرساختهای لینوکسی تبدیل کرده است.
راهنمای ورود بدون رمز SSH در لینوکس
این آموزش ورود بدون رمز SSH لینوکس با استفاده از کلیدهای SSH روی توزیعهای مبتنی بر RHEL مانند CentOS، Fedora، Rocky Linux و AlmaLinux، و همچنین توزیعهای مبتنی بر Debian مانند Ubuntu و Mint، شرح میدهد. این روش به شما امکان میدهد تا بدون وارد کردن رمز عبور به سرورهای لینوکس از راه دور متصل شده و مدیریت نمایید.
استفاده از کلیدهای SSH به عنوان روشی مبتنی بر احراز هویت با کلید عمومی، سطح اعتماد و امنیت را در ارتباطات بین سرورهای لینوکس ارتقاء میبخشد. این روش همچنین موجب تسهیل در فرآیندهای مهمی همچون:
- پشتیبانگیری خودکار با استفاده از اسکریپتها
- همگامسازی فایلها با استفاده از دستور scp
- اجرای دستورات از راه دور بر روی سرورهای هدف
میگردد. با پیادهسازی این روش، مدیریت زیرساختهای لینوکسی به نحوی امن و کارآمدتر امکانپذیر خواهد شد.
سرور های من به شرح زیر است:
SSH Client : 192.168.0.12 ( Fedora 36 )
SSH Remote Host : 192.168.0.11 ( CentOS 8 )
در این مثال آموزشی، پیکربندی ورود بدون رمز SSH لینوکس از سرور 192.168.0.12 با کاربری به نام poshtvar به سرور 192.168.0.11 با کاربری به نام sheena را انجام خواهیم داد.
ساخت کلیدهای احراز هویت SSH-Keygen Keys برای (192.168.0.12).
در ابتدا با نام کاربری poshtvar وارد سرور (192.168.0.12) یک جفت کلید عمومی(public keys) را با استفاده از دستور زیر تولید کنید
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tecmint/.ssh/id_rsa): [Press enter key]
Created directory '/home/tecmint/.ssh'.
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Press enter key]
Your identification has been saved in /home/tecmint/.ssh/id_rsa.
Your public key has been saved in /home/tecmint/.ssh/id_rsa.pub.
The key fingerprint is:
5f:ad:40:00:8a:d1:9b:99:b3:b0:f8:08:99:c3:ed:d3 tecmint@tecmint.com
The key's randomart image is:
+--[ RSA 2048]----+
| ..oooE.++|
| o. o.o |
| .. . |
| o . . o|
| S . . + |
| . . . o|
| . o o ..|
| + + |
| +. |
+-----------------+
مرحله بعدی بار گذاری SSH Key برای (192.168.0.11).
از SSH در سرور (192.168.0.12) استفاده کنید و کلید عمومی جدید تولید شده (id_rsa.pub) را در سرور (192.168.0.11) در دایرکتوری .ssh کاربر sheena به عنوان یک فایل با نام authorized_keys آپلود کنید.
$ ssh-copy-id sheena@192.168.0.11
اطمینان حاصل کنید که دسترسیهای صحیح بر روی دایرکتوری ~/.ssh و فایل ~/.ssh/authorized_keys در سرور راه دور تنظیم شدهاند.
$ ssh sheena@192.168.0.11 "chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"
غیرفعال کردن احراز هویت با رمز عبور (اختیاری)
برای افزایش امنیت، میتوانید احراز هویت با رمز عبور را در سرور از راه دور غیرفعال کنید و تنها روش ورود با کلید SSH را مجاز کنید. برای انجام این کار، فایل پیکربندی سرور SSH را در سرور باز کنید.
$ sudo nano /etc/ssh/sshd_config
OR
$ sudo vi /etc/ssh/sshd_config
خطی که شامل `PasswordAuthentication` است را پیدا کرده و مقدار آن را به `no` تغییر دهید.
PasswordAuthentication no
پس از ویرایش فایل، آن را ذخیره کرده و سرویس SSH را بر روی سرور مقصد راه اندازی مجدد کنید.
$ sudo systemctl restart sshd
ورود بدون رمز SSH لینوکس را از آدرس 192.168.0.12 آزمایش کنید.
از این پس می توانید به عنوان کاربر شینا از سرور 192.168.0.12 به عنوان کاربر poshtvar بدون رمز عبور وارد 192.168.0.11 شوید.
$ ssh sheena@192.168.0.11