Git: SSH nima?

Git xavfsizligi: SSH


ULASHISH

SSH nima?

SSH (Secure Shell) — masofaviy kompyuterlar va xizmatlarga, masalan, Git repozitoriylariga xavfsiz ulanish usuli.

SSH kodingizga faqat siz kira olishingizni ta’minlash uchun kalitlar juftligidan (ochiq va maxfiy) foydalanadi.

SSH tushunchalari va buyruqlarining qisqacha mazmuni

  • SSH kalitlar juftligi - Xavfsiz kirish uchun ochiq va maxfiy kalit
  • ssh-keygen - Yangi SSH kalitlar juftligini yaratish
  • ssh-add - Maxfiy kalitingizni SSH agentiga qo‘shish
  • ssh -T git@github.com - SSH ulanishini tekshirish
  • ssh-add -l - Yuklangan SSH kalitlarini ro‘yxat qilish
  • ssh-add -d - Kalitni agentdan olib tashlash

SSH kalitlari qanday ishlaydi

SSH kalitlari juft bo‘ladi: ochiq kalit (qulfga o‘xshaydi) va maxfiy kalit (o‘zingizning kalitingizga o‘xshaydi).

Ochiq kalitni server bilan (masalan, GitHub yoki Bitbucket bilan) ulashasiz, maxfiy kalitni esa kompyuteringizda xavfsiz saqlaysiz.

Ochiq kalit bilan qulflangan narsaga faqat maxfiy kalitga ega bo‘lgan kishigina kira oladi.


SSH kalitini birinchi marta sozlash

Agar ilgari SSH kalitlaridan hech qachon foydalanmagan bo‘lsangiz, operatsion tizimingizda SSH agentini yoqish uchun quyidagi qadamni bajaring:

Misol: SSH agentini yoqish

eval $(ssh-agent -s)

SSH kalitlar juftligini yaratish

Yangi SSH kalitlar juftligini yaratish uchun terminalda (Linux, macOS yoki Windows uchun Git Bash’da) quyidagi buyruqdan foydalaning:

Misol: SSH kalitini yaratish

ssh-keygen -t rsa -b 4096 -C "your@email.com"

Fayl joylashuvini tanlash (standart joydan foydalanish uchun Enter tugmasini bosing) va parol iborasini (passphrase) o‘rnatish uchun ko‘rsatmalarga amal qiling (parol iborasi ixtiyoriy, lekin qo‘shimcha xavfsizlik uchun tavsiya etiladi).


Kalitingizni SSH agentiga qo‘shish

Kalitingizni yaratgandan so‘ng Git undan foydalana olishi uchun uni SSH agentiga qo‘shing:

Misol: Kalitni SSH agentiga qo‘shish

ssh-add ~/.ssh/id_rsa


Ochiq kalitingizni nusxalash

Git xosting xizmatlari bilan SSH’dan foydalanish uchun ochiq kalitingizni nusxalab, uni GitHub, GitLab yoki Bitbucket’dagi hisob sozlamalaringizga qo‘shishingiz kerak.

  • macOS’da: pbcopy < ~/.ssh/id_rsa.pub
  • Windows’da (Git Bash): clip < ~/.ssh/id_rsa.pub
  • Linux’da: cat ~/.ssh/id_rsa.pub (so‘ng qo‘lda nusxalang)

SSH kalitlarini ro‘yxat qilish va olib tashlash

SSH agentingizga qaysi kalitlar yuklanganini ko‘ring:

Misol: Yuklangan SSH kalitlarini ro‘yxat qilish

ssh-add -l

Kalitni agentdan olib tashlash uchun:

Misol: SSH kalitini agentdan olib tashlash

ssh-add -d ~/.ssh/id_rsa

SSH muammolarini bartaraf etish

  • Agar “Permission denied” xatosini olsangiz, ochiq kalitingiz Git xostingingizga qo‘shilganiga va maxfiy kalitingiz agentga yuklanganiga ishonch hosil qiling.
  • Fayl ruxsatlarini tekshiring: maxfiy kalitlarni faqat siz o‘qiy olishingiz kerak (chmod 600 ~/.ssh/id_rsa).
  • Muammolarni aniqlash uchun batafsil natija olishda ssh -v buyrug‘idan foydalaning.
  • Masofaviy repozitoriyingiz uchun to‘g‘ri SSH URL’dan foydalanayotganingizga ishonch hosil qiling (u git@ bilan boshlanadi).

Maslahat: Maxfiy kalitingizni hech kim bilan ulashmang. Qo‘shimcha xavfsizlik uchun parol iborasidan foydalaning.

Agar maxfiy kalitingiz qachondir oshkor bo‘lib qolsa, darhol yangi kalitlar juftligini yarating va Git xostingingizdagi kalitni yangilang.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!