یوشا آل ایوب

وبگاه دست نوشته ها و تجربیات شخصی

یوشا آل ایوب

وبگاه دست نوشته ها و تجربیات شخصی

یوشا آل ایوب

دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم: آنکس که تخصص ندارد و کاری را می پذیرد، بی تقواست!

تبلیغات
Blog.ir بلاگ، رسانه متخصصین و اهل قلم، استفاده آسان از امکانات وبلاگ نویسی حرفه‌ای، در محیطی نوین، امن و پایدار bayanbox.ir صندوق بیان - تجربه‌ای متفاوت در نشر و نگهداری فایل‌ها، ۳ گیگا بایت فضای پیشرفته رایگان Bayan.ir - بیان، پیشرو در فناوری‌های فضای مجازی ایران
بایگانی

 

توضیح مفهوم کلید عمومی/خصوصی کمی سخته، ولی سعی می کنم اون رو به شیوه ساده ای بیان کنم تا متوجه اصل ماجرا بشید.

 

بطور خلاصه، اساس کار SSh-Key مبتنی بر رمزنگاری بر کلید عمومی هست. به این صورت که شما دو کلید ایجاد می کنید: یکی کلید عمومی(public key) و دیگری کلید خصوصی(private key). که در اینجا کلید عمومی نقش قفل رو داره و کلید خصوصی نقش کلید!

 

شما می تونید کلید عمومی(public key) خودتون رو به هر کسی بدید یا در هر جایی قرار بدید... چراکه تنها عملکردش رمزی کردن داده هاست و هیچ کارایی دیگه ای نداره. پس چیزی هم شما رو تهدید نمی کنه. کلید دیگه، کلید خصوصی هه(private key)، که شما نباید اون رو به کسی بدید! و عملکردش رمزگشایی داده هاست. (داده های رمزگذاری شده توسط کلید عمومی)

شیوه تعامل این دو کلید به این صورته که:

1- سرور/remote یک پیام کوتاه رو توسط کلید عمومی شما [که قبلاً بهش داده بودید رو] رمزگذاری و اون به کامپیوتر شما ارسال میکنه.

2- کامپیوتر شما، این پیام رمزگذاری شده رو دریافت و با کلید خصوصی شما اون رو رمزگشایی میکنه و اون رو به سرور/remote ارسال می کنه.

3- در نهایت، سرور/remote هویت شما رو [از نظر مالک کلید خصوصی] شناسایی میکنه و بلافاصله دسترسی های لازم رو به شما اعطا می کنه. بهمین سادگی!

 

فهرست/مندرجات:

  • دانلود برنامه
  • ساخت SSh-Key
  • آپلود SSh-Key

 

  • دانلود برنامه

برای ساخت SSh-Key در لینوکس برنامه های متعددی وجود داره، ولی خروجی حاصل شده قطعاً یکی هستش...

از جمله این برنامه های میشه PuTTYSecureCRTlshPAC ManagerOpenSShGit رو نام برد که من در اینجا به OpenSSh, lsh, PuTTY و Git میپردازم...

 

توجه: درصورتی که یکی از برنامه های OpenSSh, lsh, PuTTY یا Git رو نصب دارید، این قسمت رو رها و به قسمت ساخت SSh-Key در پایین رجوع کنید! (که قطعاً دارید)

 

1- ابتدا جدیدترین نسخه برنامه OpenSSh یا برنامه Git یا Installer برنامه PuTTY مناسب سیستم عامل تون رو دانلود کنید: (در فرم باز شده Search کنید)

لینوکس Slackware:

http://packages.slackware.com

لینوکس Debian:

https://packages.debian.org/index

لینوکس Arch:

https://archlinux.org/packages

لینوکس Ubuntu:

http://packages.ubuntu.com

لینوکس SUSE:

https://software.opensuse.org/find

 

2- حالا کنسول رو باز و به مسیر فایل دانلود شده برید، بعد دستور زیر رو بزنید تا نصب بشه:

لینوکس Slackware:

​installpkg <MY-FILE-NAME.txz>
یا
upgradepkg --install-new <MY-FILE-NAME.txz>
یا
sudo installpkg <MY-FILE-NAME.txz>

لینوکس Debian:

dpkg -i <MY-FILE-NAME.deb>
یا 
sudo dpkg -i <MY-FILE-NAME.deb>

لینوکس Arch:

pacman -S <MY-FILE-NAME>

لینوکس Ubuntu:

sudo apt install <MY-FILE-NAME.deb>

لینوکس SUSE

zypper install <MY-FILE-NAME>
  • ساخت SSh-Key

1- برنامه کنسول/terminal سیستم رو باز کنید.

 

2- بعد داخل پنجره [سیاه] باز شده، عبارت زیر رو بنویسید و بعد کلید ENTER رو بزنید:

برای OpenSSh یا Git

ssh -t rsa -C "YOUR-EMAIL-ADDRESS@DOMAIN"

برای PuTTY

puttygen -t rsa -C "YOUR-EMAIL-ADDRESS@DOMAIN"

بجای عبارت YOUR-EMAIL-ADDRESS@DOMAIN، آدرس ایمیل واقعی تون رو بنویسید.

نکته: اگر عضو یکی سایت هایی مثل GitHub, GitLab, BitBucket, SourceForge و... هستید، پیشنهاد می کنم اون آدرس ایمیلی که در اون سایت باهاش عضو شدید رو بنویسید.

 

3- حالا از شما سوالی درباره مسیر ساخت SSh-Key میپرسه، که پیشنهاد می کنم همون مسیر پیشفرض خودش رو قبول کنید و کلید ENTER رو فشار بدید.

در لینوکس این مسیر پیشفرض برابره با:  /<YOUR-USERNAME>/.ssh/

البته شاید این ‍دایرکتوری بدایلی مخفی/hidden باشه, لذا مجبورید فایلهای مخفی رو نمایان کنید.

 

توجه: اگر با پیامی شبیه already exists یا Overwrite مواجه شدید، این یعنی شما درحال حاضر SSh-Key دارید و نیاز به ساخت مجدد اون ندارید پس کلید ENTER رو بزنیدتا عملیات متوقف بشه. مگر اینکه قصد داشته باشید یک SSh-Key جدید بسازید، پس می نویسید y و کلید ENTER رو میزنید تا overwrite بشه.

 

4- حالا از شما می خواد که رمزی رو برای این SSh-Key وارد کنید... رمز رو وارد و کلید ENTER رو بزنید. بعد، مجدداً از شما درباره رمز سوال میکنه، رمز قبلی رو وارد و کلید ENTER رو میزنید.

نکته: اگر عضو یکی سایت هایی مثل GitHub, GitLab, BitBucket, SourceForge و... هستید، پیشنهاد می کنم همون رمزی که در اون سایت باهاش عضو شدید رو وارد کنید. (که فراموش نکنید)

SSh-Key شما ساخته شد!

 

  • آپلود SSh-Key

1- به مسیری که SSh-Key رو ساختید برید، در اونجا باید دو فایل با نام id_rsa و id_rsa.pub داشته باشید. فایل id_rsa.pub رو با برنامه Notepad (یا هر ویرایشگری دیگه) باز کنید و فقط و فقط خط اول رو کامل کپی کنید.

دقت کنید خط دوم که خالی هست رو کپی نکنید.

 

نکته: فایل id_rsa.pub، فایل کلید عمومی هست. یعنی این کلید رو در سرور/remote ای که قراره بهش متصل بشید آپلود می کنید (که به شما گفته میشه کجا و چگونه). اما فایل id_rsa، فایل کلید خصوصی هست. پس این فایل باید در کامپیوتر شما بمونه!

 

2- به سایت مورد نظرتون برید و login کنید. بعد بدنبال گزینه Settings یا Profile settings یا Preferences بگردید و بعد روش کلیک کنید. سپس در صفحه باز شده گزینه ی SSh keys یا SSh Settings رو پیدا و روش کلیک کنید.

 

3- بعد از باز شدن صفحه SSh Keys، دکمه Add new key یا Add SSh key رو بزنید و محتوایی که قبلاً از داخل فایل id_rsa.pub کپی کرده بودید رو در اونجا paste کنید.

در آخر دکمه Add یا Save رو بزنید. تمام! enlightened

۹۳/۱۰/۱۱
یوشا آل ایوب

Git

SSh

VCS

گیت

نظرات (۰)

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