وبلاگ شخصی علی مقدس زاده

ارتباط از طریق ssh با استفاده از کلید

شنبه, ۱۲ مهر ۱۳۹۳، ۰۲:۱۳ ب.ظ

بعضی از اوقات (به عنوان مثال رعایت موارد امنیتی، انتقال فایل و به روز رسانی‌های مکرر یک سرور و ...) لازم هست برای اتصال ssh به یک سرور به جای استفاده از کلمه عبور از کلید استفاده شود. برای این منظور موارد زیر را به ترتیب انجام می‌دهیم:

۱. برای ساخت کلید RSA از دستور زیر استفاده می‌کنیم:

ssh-keygen -t rsa

پس از اجرای این دستور سوالاتی از شما پرسیده می‌شود:

Enter file in which to save the key (/home/ali/.ssh/id_rsa):

معمولا محل ذخیره کلید مسیر home هر کاربر هست.

Enter passphrase (empty for no passphrase):

در این بخش می‌توانید برای کلید خصوصی خود، یک کلمه عبور تعیین نمایید. استفاده از کلمه عبور مزایای مختلفی دارد؛ در صورتیکه برای کلید خود کلمه عبوری تعیین نکرده باشید، هر شخصی می‌تواند از این کلید استفاده نماید، ولی در صورت تعیین کلمه عبور برای کلید، برای استفاده از آن، داشتن کلمه عبور الزامی است. شاید لزوم وارد کردن کلمه عبور برای هر بار استفاده یک ایراد هم محسوب شود :)

خروجی این مرحله مشابه زیر خواهد بود:

Generating public/private rsa key pair.

Enter file in which to save the key (/home/ali/.ssh/id_rsa): 

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /home/ali/.ssh/id_rsa.

Your public key has been saved in /home/ali/.ssh/id_rsa.pub.

The key fingerprint is:

xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:x ali@Ali-PC

The key's randomart image is:

+--[ RSA 2048]----+

|          .. .   |

|          ..+    |

|       . .o. .   |

|        oo . o   |

|        S.. + .  |

|          .+ =...|

|          o.+oE o|

|         .  . o+ |

|             ..o.|

+-----------------+

۲. پس از ساخت کلید خصوصی و عمومی، لازم هست کلید عمومی با استفاده از دستور زیر بر روی سرور مورد نظر کپی شود:
$ ssh-copy-id <user>@<ip>
چنانچه پورت ssh بر روی سرور عددی به غیر از ۲۲ (پورت پیش فرض) هست با استفاده از سوییچ p- می‌توان شماره پورت را مشخص کرد.

۳. برای جلوگیری از امکان ارتباط ssh از طریق کلمه عبور، فایل etc/ssh/sshd_config/ را باز کرده و به دنبال عبارت PermitRootLogin yes می‌گردیم و آن را به عبارت زیر تغییر می‌دهیم:
PermitRootLogin without-password
۴. در صورت لزوم سرویس ssh باید مجددا بارگذاری شود:
# service ssh reload
  • علی مقدس زاده

نظرات  (۱)

مطالب بسیار عالیست، دست شما درد نکنه

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی