Chapters ▾ 2nd Edition

4.3 گیت روی سرور (Git on the server) - ایجاد کلید عمومی SSH شما (Generating Your SSH Public Key)

ایجاد کلید عمومی SSH شما (Generating Your SSH Public Key)

بسیاری از سرورهای گیت از کلیدهای عمومی SSH برای احراز هویت استفاده می‌کنند. برای ارائه یک کلید عمومی، هر کاربر در سیستم شما باید در صورتی که قبلاً کلیدی ندارد، یک کلید جدید ایجاد کند. این فرآیند در تمامی سیستم‌عامل‌ها مشابه است. ابتدا باید بررسی کنید که آیا از قبل کلیدی دارید یا خیر. به‌طور پیش‌فرض، کلیدهای SSH یک کاربر در پوشه‌ی ~/.ssh همان کاربر ذخیره می‌شوند. شما می‌توانید به‌راحتی با رفتن به آن پوشه و فهرست کردن محتویات، بررسی کنید که کلید دارید یا نه:

$ cd ~/.ssh
$ ls
authorized_keys2  id_dsa       known_hosts
config            id_dsa.pub

شما به دنبال جفت فایل‌هایی با نام‌هایی مانند id_dsa یا id_rsa و یک فایل هم‌نام با پسوند .pub هستید. فایل .pub کلید عمومی شما است و فایل دیگر کلید خصوصی متناظر با آن می‌باشد. اگر این فایل‌ها را ندارید (یا حتی پوشه .ssh وجود ندارد)، می‌توانید با اجرای برنامه‌ای به نام ssh-keygen آنها را ایجاد کنید. این برنامه در بسته SSH روی سیستم‌های لینوکس و مک‌او‌اس موجود است و همراه با گیت در ویندوز نصب می‌شود:

$ ssh-keygen -o
Generating public/private rsa key pair.
Enter file in which to save the key (/home/schacon/.ssh/id_rsa):
Created directory '/home/schacon/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/schacon/.ssh/id_rsa.
Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local

ابتدا محل ذخیره کلید را تایید می‌کند (.ssh/id_rsa) و سپس دو بار از شما می‌خواهد رمز عبوری وارد کنید که اگر نمی‌خواهید هنگام استفاده از کلید رمز بزنید، می‌توانید آن را خالی بگذارید. با این حال، اگر رمز عبور استفاده می‌کنید، حتماً گزینه -o را اضافه کنید؛ این گزینه کلید خصوصی را به فرمتی ذخیره می‌کند که در مقابل حملات حدس رمز مقاوم‌تر از فرمت پیش‌فرض است. همچنین می‌توانید از ابزار ssh-agent استفاده کنید تا مجبور نباشید هر بار رمز عبور را وارد کنید.

اکنون هر کاربری که این کار را انجام می‌دهد باید کلید عمومی خود را برای شما یا مسئول مدیریت سرور گیت ارسال کند (فرض بر این است که از سرور SSH استفاده می‌کنید که به کلیدهای عمومی نیاز دارد). کافی است محتوای فایل .pub را کپی کرده و ایمیل کند. کلیدهای عمومی معمولاً چیزی شبیه به این هستند:

$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@mylaptop.local

برای آموزش جامع‌تر درباره ایجاد کلید SSH در سیستم‌عامل‌های مختلف، راهنمای گیت‌هاب درباره کلیدهای SSH را در آدرس https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent مشاهده کنید.

scroll-to-top