Git: SSH nima?
Git xavfsizligi: SSH
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 yaratishssh-add- Maxfiy kalitingizni SSH agentiga qo‘shishssh -T git@github.com- SSH ulanishini tekshirishssh-add -l- Yuklangan SSH kalitlarini ro‘yxat qilishssh-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 -vbuyrug‘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!

GitHub
Bitbucket
GitLab