برقراری ارتباط SSH بدون گذرواژه و با استفاده از کلید در 5 گام ساده

برقراری ارتباط SSH بدون گذرواژه و با استفاده از کلید در ۵ گام ساده

SSH یا Secure SHELL متن باز است و مورد اعتمادترین پروتکل شبکه برای ارتباط راه دور با سرورها جهت اجرای دستورات و برنامه ها نیز هست.
همچنین برای انتقال فایل ها از یک کامپیوتر به کامپیوتر دیگر بر بستر شبکه توسط پروتکل SCP یا Secure Copy مورد استفاده قرار می گیرد.
در این مقاله به شما نشان خواهم داد که چگونه از طریق سیستم هایی همچون RHEL/CentOS 7.x/6.x/5.x و Fedora به سرورهای لینوکسی راه دور، بدون وارد کردن گذرواژه و تنها با استفاده از ssh keys وارد شوید. استفاده از ورود بدون گذرواژه و با بهره گیری از ssh keys موجب افزایش اطمینان بین دو سرور لینوکسی شده و انتقال یا همگام سازی فایل ها را تسهیل می کند.

اگر شما با تعدادی سرور لینوکسی راه دور تعامل دارید، ورود SSH بدون گذرواژه (SSH Password-less ) یکی از بهترین راه های خودکار کردن اعمالی همچون پشتیبان گیری خودکار با استفاده از اسکریپت ها، همگام سازی فایلها با استفاده از SCP و اجرای دستورات راه دور است.
در این مثال آموزشی ورود بدون گذرواژه خودکار را از سروری به آدرس ۱۹۲٫۱۶۸٫۰٫۱۲ با حساب کاربری tecmint به سروری به آدرس ۱۹۲٫۱۶۸٫۰٫۱۱ و با حساب کاربری sheena راه اندازی می کنیم.
پس دامنه کاری من به شکل زیر خواهد بود:

SSH Client : 192.168.0.12 ( Fedora 21 )
SSH Remote Host : 192.168.0.11 ( CentOS 7 )

گام اول: Create Authentication SSH-Kegen Keys on 192.168.0.12

ابتدا با کاربر tecmint به سرور ۱۹۲٫۱۶۸٫۰٫۱۲ وارد شوید. سپس با استفاده از دستور زیر، یک جفت کلید عمومی ایجاد نمایید:

[tecmint@tecmint.com ~]$ 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:
۵f: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    ..|
|       + +       |
|        +.       |
+-----------------+
Create SSH RSA Key

گام دوم: Create .ssh Directory on 192.168.0.11

از سرور ۱۹۲٫۱۶۸٫۰٫۱۲ با استفاده از SSH به سرور ۱۹۲٫۱۶۸٫۰٫۱۱ و با کاربر sheena متصل شوید و یک پوشه ssh. روی آن ایجاد نمایید. روش کار در دستورات زیر مشخص شده است:

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 mkdir -p .ssh

The authenticity of host '192.168.0.11 (192.168.0.11)' can't be established.
RSA key fingerprint is 45:0e:28:11:d6:81:62:16:04:3f:db:38:02:la:22:4e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.11' (ECDSA) to the list of known hosts.
sheena@192.168.0.11's password: [Enter Your Password Here]
Create SSH Directory Under User Home

گام سوم: Upload Generated Public Keys to 192.168.0.11

با استفاده از SSH از سرور ۱۹۲٫۱۶۸٫۰٫۱۲ کلید عمومی ایجاد شده (id_rsa.pub) را روی سرور ۱۹۲٫۱۶۸٫۰٫۱۱ و در پوشه ssh. که برای کاربر sheena ساخته بودید، و در فایلی با نام authorized_keys قرار دهید.

[tecmint@tecmint ~]$ cat .ssh/id_rsa.pub | ssh sheena@192.168.0.11 'cat >> .ssh/authorized_keys'

sheena@192.168.1.2's password: [Enter Your Password Here]
Upload RSA Key

گام چهارم: Set Permissions on 192.168.0.11

با توجه به تفاوتی که بین نسخه های SSH در سرورهای مختلف وجود دارد، لازم است دسترسی های لازم را برای پوشه ssh. و فایل authorized_keys ایجاد کنید.

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11 "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

sheena@192.168.0.11's password: [Enter Your Password Here]
Set Permission on SSH Key

گام پنجم: Login from 192.168.0.12 to 192.168.0.11 Server without Password

از این پس شما می توانید از سرور ۱۹۲٫۱۶۸٫۰٫۱۲ با حساب کاربری tecmint به سرور ۱۹۲٫۱۶۸٫۰٫۱۱ و حساب کاربری sheena بدون استفاده از گذرواژه متصل شوید.

[tecmint@tecmint ~]$ ssh sheena@192.168.0.11
SSH Remote Passwordless Login

منبع: SSH Passwordless Login Using SSH Keygen in 5 Easy Steps
ترجمه: سیدمحمدحسین طباطبایی بالا

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *