SSH ᲒᲐᲡᲐᲦᲔᲑᲔᲑᲘᲡ ᲨᲔᲥᲛᲜᲐ
ლინუქს ოპერაციული სისტემის მომხმარებელთათვის აუცილებელია 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
- თუ სიაში ხედავთ ისეთ ფაილებს, როგორიცაა:
-
id_rsa.pubანid_rsa -
id_ecdsa.pubანid_ecdsa -
id_ed25519.pubანid_ed25519
ეს ნიშნავს, რომ SSH გასაღები უკვე გენერირებულია. შეიძლება გამოიყენოთ ეს გასაღები ან გენერიროთ ახალი (მაგალითად, სხვა ტიპის ან მეტად დაცული).
-
2. ახალი SSH გასაღების გენერირება
ეს ნაბიჯები გაჩვენებთ, როგორ შექმნათ ახალი SSH გასაღები სერვის „GitHub“-ისთვის, მაგრამ იგივე პრინციპი ვრცელდება სხვა სერვისებზეც (GitLab, Bitbucket და ა.შ.).
- გახსენით ტერმინალი.
- ჩაწერეთ:
ssh-keygen -t ed25519 -C "თქვენი_ემაილი@example.com"-
-t ed25519გულისხმობს ED25519 ტიპის გასაღების გენერირებას, რომელიც რეკომენდებულია უსაფრთხოებისა და შესრულების გამო. - თუ გსურთ RSA ტიპის გასაღები, გამოიყენეთ:
ssh-keygen -t rsa -b 4096 -C "თქვენი_ემაილი@example.com"აქ
-b 4096ნიშნავს 4096-ბიტიან RSA-ს, რაც უსაფრთხო ვარიანტია.
-
- შემდეგ, სეტაპში დაგისვამენ კითხვას ფაილის შენახვის ადგილის შესახებ:
Enter a file in which to save the key (/Users/username/.ssh/id_ed25519):- თუ სურვილი გაქვთ, მიუთითეთ ალტერნატიული გზა/სახელი.
- ან უბრალოდ დაჭირეთ Enter, რომ სტანდარტულ ადგილზე შეინახოთ (
~/.ssh/id_ed25519).
- თქვენგან მოითხოვება პაროლი (passphrase) გასაღებისთვის:
Enter passphrase (empty for no passphrase): Enter same passphrase again:- თუ გსურთ მაღალი უსაფრთხოება, შეიყვანეთ პაროლი.
- თუ გირჩევნიათ გასაღების სწრაფი გამოყენება, დატოვეთ ცარიელი. თუმცა, გაითვალისწინეთ, რომ პაროლის მითითება ზრდის უსაფრთხოებას.
ამ操作ის შემდეგ ~/.ssh დირექტორიაში გაჩნდება ორი ფაილი:
- პირადი გასაღები:
id_ed25519(ანid_rsa) - საჯარო გასაღები:
id_ed25519.pub(ანid_rsa.pub)
3. SSH გასაღების დამატება ssh-agent-ში
პირად გასაღებაზე მუდმივი წვდომა რომ გქონდეთ (პაროლის ხელახლა შეყვანის გარეშე), გამოიყენეთ ssh-agent.
- სასურველია,
ssh-agentუკვე გაშვებული იყოს. თუ არა, გაუშვით:eval "$(ssh-agent -s)"- ეს ბრძანება ააქტიურებს
ssh-agentპროცესს, რომ შილში შეძლოთ SSH გასაღებების ჩატვირთვა.
- ეს ბრძანება ააქტიურებს
- დაამატეთ ახალი SSH გასაღები:
ssh-add ~/.ssh/id_ed25519- თუ RSA გასაღები გაქვთ, აღნიშნეთ
~/.ssh/id_rsa.
- თუ RSA გასაღები გაქვთ, აღნიშნეთ
- თუ პაროლი გაქვთ მითითებული, მოგთხოვთ მას. ჩაწერეთ და დაადასტურეთ.
4. SSH გასაღების დამატება თქვენს GitHub ანგარიშზე
ახლა, როდესაც SSH გასაღები გენერირებულია და ssh-agent-შია, საჭიროა საჯარო გასაღების ატვირთვა GitHub-ზე, რათა GitHub-მა იცნოს თქვენი კომპიუტერის მიერ ხელმოწერილი მოთხოვნები.
- შედით GitHub-ზე თქვენს ანგარიშში.
- გადადით Settings > SSH and GPG keys.
- დააჭირეთ New SSH key ან Add SSH key ღილაკს.
- შეავსეთ „Title“ ველი, რომ გაიხსენოთ, რომელი მოწყობილობიდან ან პოზიციიდან შეიქმნა ეს გასაღები.
- გახსენით საჯარო გასაღების ფაილი ტერმინალიდან ან რედაქტორით:
cat ~/.ssh/id_ed25519.pub- ანალოგიურად
id_rsa.pubთუ RSA ტიპისაა.
- ანალოგიურად
- მთლიანად დაკოპირეთ მიღებული სტრიქონი (იწყება
ssh-ed25519ანssh-rsaდა მთავრდება თქვენი ელ.ფოსტის მისამართით). - ჩასვით ამ ველში („Key“ ველი GitHub-ის ინტერფეისში).
- დააჭირეთ 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 გეხმარებათ GitHub-თან (ან სხვა სერვისთან) უსაფრთხო კავშირის დამყარებაში.
- ყოველთვის შეინახეთ პირადი გასაღები საიმედო ადგილას. მასთან წვდომა ნიშნავს თქვენი ანგარიშის მართვის შესაძლებლობას.
- საჯარო გასაღები შეგიძლიათ დაამატოთ ნებისმიერ ანგარიშზე, რომელზეც გსურთ ავტორიზაცია SSH-ით.
- თუ გსურთ მეტი დაცულობა, გამოიყენეთ პაროლი (passphrase). თუმცა, იმახსოვრეთ, რომ ეს ყოველი „ssh-add“ ან git ოპერაციის დროს მოგთხოვთ პაროლის შეყვანას, თუ ჯერ არ გაქვთ ssh-agent-ში ჩატვირთული.
- რეგულარულად გადაამოწმეთ, რომ ძველი ან გამოუყენებელი გასაღებები GitHub-ის ანგარიშიდან წაშლილია.
ამით დასრულებულია ახალი SSH გასაღების გენერირების, ssh-agent-ში დამატებისა და GitHub-ის ანგარიშზე ასატვირთი საჭირო ნაბიჯების აღწერა. ```22