ᲐᲕᲗᲐᲜᲓᲘᲚ ᲤᲐᲜᲒᲐᲜᲘ

კომპიუტერული მეცნიერებების მასწავლებელი, ტრენერი

SSH ᲒᲐᲡᲐᲦᲔᲑᲔᲑᲘᲡ ᲨᲔᲥᲛᲜᲐ

March 01, 2025

ლინუქს ოპერაციული სისტემის მომხმარებელთათვის აუცილებელია SSH ტექნოლოგიის გამოყენება, რომელიც უზრუნველყოფს უსაფრთხო კავშირებს

SSH ᲒᲐᲡᲐᲦᲔᲑᲔᲑᲘ, ᲨᲔᲥᲛᲜᲐ ᲓᲐ ᲒᲐᲛᲝᲧᲔᲜᲔᲑᲐ

# ახალი SSH გასაღების გენერირება და მისი ssh-agent-ში დამატება

ეს ტექსტი წარმოადგენს GitHub-ის ოფიციალური დოკუმენტაციის ([_Generating a new SSH key and adding it to the ssh-agent_](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent)) სრულ ქართულ თარგმანს. 

> **შენიშვნა**: ორიგინალი მასალა (ინგლისურ ენაზე) ხელმისაწვდომია GitHub-ის Docs-ზე [აქ](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent). ტექსტი დოკუმენტაციის სტრუქტურას მიჰყვება და შინაარსობრივად სრულად შეესაბამება მას.

---

## განახლებული ინფორმაცია SSH-ის შესახებ

SSH (Secure Shell) გთავაზობთ დაცულ გზას GitHub-თან დასაკავშირებლად, _პაროლის_ ნაცვლად **ციფრული გასაღების** გამოყენებით. SSH დაგეხმარებათ დაიცვათ თქვენი დეპოზიტორიები (repositories) და პერსონალური მონაცემები მესამე პირებისგან. 

ამ საკითხში განხილული იქნება:

1. როგორ შევამოწმოთ, უკვე ხომ არ არსებობს SSH გასაღები.
2. როგორ გამოვუშაოთ ახალი SSH გასაღები.
3. როგორ დავამატოთ ეს SSH გასაღები ssh-agent-ში.
4. როგორ დავამატოთ SSH გასაღები თქვენს GitHub-ის ანგარიშზე, რომ კავშირი გამართული იყოს.

---

## 1. უკვე არსებული SSH გასაღების შემოწმება

კონფლიქტების ან ზედმეტი გასაღებების თავიდან ასაცილებლად, შეამოწმეთ, ხომ არ გაქვთ SSH გასაღები უკვე გენერირებული.

1. გახსენით ტერმინალი.
2. გადადით თქვენს `.ssh` საქაღალდეში. Unix-სისტემებზე (Linux, macOS) ეს, ჩვეულებრივ, `~/.ssh` დირექტორია:
   ```bash
   ls -al ~/.ssh
  1. თუ სიაში ხედავთ ისეთ ფაილებს, როგორიცაა:
    • id_rsa.pub ან id_rsa
    • id_ecdsa.pub ან id_ecdsa
    • id_ed25519.pub ან id_ed25519

    ეს ნიშნავს, რომ SSH გასაღები უკვე გენერირებულია. შეიძლება გამოიყენოთ ეს გასაღები ან გენერიროთ ახალი (მაგალითად, სხვა ტიპის ან მეტად დაცული).


2. ახალი SSH გასაღების გენერირება

ეს ნაბიჯები გაჩვენებთ, როგორ შექმნათ ახალი SSH გასაღები სერვის „GitHub“-ისთვის, მაგრამ იგივე პრინციპი ვრცელდება სხვა სერვისებზეც (GitLab, Bitbucket და ა.შ.).

  1. გახსენით ტერმინალი.
  2. ჩაწერეთ:
    ssh-keygen -t ed25519 -C "თქვენი_ემაილი@example.com"
    
    • -t ed25519 გულისხმობს ED25519 ტიპის გასაღების გენერირებას, რომელიც რეკომენდებულია უსაფრთხოებისა და შესრულების გამო.
    • თუ გსურთ RSA ტიპის გასაღები, გამოიყენეთ:
      ssh-keygen -t rsa -b 4096 -C "თქვენი_ემაილი@example.com"
      

      აქ -b 4096 ნიშნავს 4096-ბიტიან RSA-ს, რაც უსაფრთხო ვარიანტია.

  3. შემდეგ, სეტაპში დაგისვამენ კითხვას ფაილის შენახვის ადგილის შესახებ:
    Enter a file in which to save the key (/Users/username/.ssh/id_ed25519):
    
    • თუ სურვილი გაქვთ, მიუთითეთ ალტერნატიული გზა/სახელი.
    • ან უბრალოდ დაჭირეთ Enter, რომ სტანდარტულ ადგილზე შეინახოთ (~/.ssh/id_ed25519).
  4. თქვენგან მოითხოვება პაროლი (passphrase) გასაღებისთვის:
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    
    • თუ გსურთ მაღალი უსაფრთხოება, შეიყვანეთ პაროლი.
    • თუ გირჩევნიათ გასაღების სწრაფი გამოყენება, დატოვეთ ცარიელი. თუმცა, გაითვალისწინეთ, რომ პაროლის მითითება ზრდის უსაფრთხოებას.

ამ操作ის შემდეგ ~/.ssh დირექტორიაში გაჩნდება ორი ფაილი:


3. SSH გასაღების დამატება ssh-agent-ში

პირად გასაღებაზე მუდმივი წვდომა რომ გქონდეთ (პაროლის ხელახლა შეყვანის გარეშე), გამოიყენეთ ssh-agent.

  1. სასურველია, ssh-agent უკვე გაშვებული იყოს. თუ არა, გაუშვით:
    eval "$(ssh-agent -s)"
    
    • ეს ბრძანება ააქტიურებს ssh-agent პროცესს, რომ შილში შეძლოთ SSH გასაღებების ჩატვირთვა.
  2. დაამატეთ ახალი SSH გასაღები:
    ssh-add ~/.ssh/id_ed25519
    
    • თუ RSA გასაღები გაქვთ, აღნიშნეთ ~/.ssh/id_rsa.
  3. თუ პაროლი გაქვთ მითითებული, მოგთხოვთ მას. ჩაწერეთ და დაადასტურეთ.

4. SSH გასაღების დამატება თქვენს GitHub ანგარიშზე

ახლა, როდესაც SSH გასაღები გენერირებულია და ssh-agent-შია, საჭიროა საჯარო გასაღების ატვირთვა GitHub-ზე, რათა GitHub-მა იცნოს თქვენი კომპიუტერის მიერ ხელმოწერილი მოთხოვნები.

  1. შედით GitHub-ზე თქვენს ანგარიშში.
  2. გადადით Settings > SSH and GPG keys.
  3. დააჭირეთ New SSH key ან Add SSH key ღილაკს.
  4. შეავსეთ „Title“ ველი, რომ გაიხსენოთ, რომელი მოწყობილობიდან ან პოზიციიდან შეიქმნა ეს გასაღები.
  5. გახსენით საჯარო გასაღების ფაილი ტერმინალიდან ან რედაქტორით:
    cat ~/.ssh/id_ed25519.pub
    
    • ანალოგიურად id_rsa.pub თუ RSA ტიპისაა.
  6. მთლიანად დაკოპირეთ მიღებული სტრიქონი (იწყება ssh-ed25519 ან ssh-rsa და მთავრდება თქვენი ელ.ფოსტის მისამართით).
  7. ჩასვით ამ ველში („Key“ ველი GitHub-ის ინტერფეისში).
  8. დააჭირეთ Add SSH key.

5. ტესტირება

სწორად რომ შეამოწმოთ, მუშაობს თუ არა SSH გასაღები GitHub-ზე, გაიშვირეთ ეს ბრძანება:

ssh -T git@github.com

თუ ყველაფერი რიგზეა, თქვენ უნდა მიიღოთ შეტყობინება, მაგალითად:

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

ან მსგავსი. ეს ნიშნავს, რომ თქვენი SSH ავტენტიკაცია გამართულია.


შევაჯამოთ

ამით დასრულებულია ახალი SSH გასაღების გენერირების, ssh-agent-ში დამატებისა და GitHub-ის ანგარიშზე ასატვირთი საჭირო ნაბიჯების აღწერა. ```22