Ko'pchilik dasturchilar saytni yangilash uchun hamon eski usuldan foydalanadi: faylni kompyuterda tahrirlaydi, keyin FTP dasturi orqali serverga yuklaydi va natijani brauzerda tekshiradi. Bu jarayon har bir kichik o'zgarish uchun bir necha qadamni talab qiladi va qaysi fayl serverga yuklangani, qaysi biri yuklanmay qolgani tez-tez chalkashib ketadi. VS Code'ning Remote SSH kengaytmasi bu muammoni boshqacha hal qiladi: muharrir sizning kompyuteringizda ochiladi, lekin fayllar, terminal va qidiruv to'g'ridan-to'g'ri serverda ishlaydi. Natijada siz serverdagi loyihani xuddi lokal papkadek ko'rasiz.
Remote SSH qanday ishlaydi
Kengaytma serverga oddiy SSH orqali ulanadi va birinchi ulanishda foydalanuvchining uy papkasiga ~/.vscode-server nomli kichik server qismini o'rnatadi. Keyin barcha og'ir ishlar, ya'ni fayllarni o'qish, matn bo'yicha qidirish, kengaytmalarning bir qismi va terminal serverning o'zida bajariladi, sizning kompyuteringiz esa faqat interfeysni chizadi. Shuning uchun katta loyihada ham fayllarni yuklab olish kerak bo'lmaydi va saqlash tugmasini bosgan zahoti o'zgarish serverda bo'ladi. Buning narxi shundaki, server tomonida qo'shimcha jarayon ishlaydi va u bir necha yuz megabayt joy hamda ma'lum miqdorda operativ xotira egallaydi.
Shu sababli Remote SSH eng qulay tarzda VPS yoki o'zingiz boshqaradigan serverda ishlaydi. Oddiy shared hostingda SSH ruxsati bo'lsa ham, uzoq vaqt ishlab turadigan fon jarayonlari yoki resurs cheklovlari tufayli ulanish uzilishi mumkin. sayt.uz hostingida SSH imkoniyati tarifingizda bormi yoki yo'qligini kabinetdan yoki texnik yordam orqali aniqlab olishingiz mumkin; VPS'da esa siz to'liq root huquqiga ega bo'lasiz va bunday cheklovlar bo'lmaydi.
SSH kalit yaratish va serverga qo'shish
Har safar parol kiritib ulanish noqulay va xavfsiz ham emas, shuning uchun birinchi navbatda SSH kalit juftligini yaratish kerak. Windows 10/11, macOS va Linux'da ssh-keygen buyrug'i tayyor holda mavjud. Quyidagi buyruq zamonaviy ed25519 turidagi kalitni yaratadi; parol so'raganda kalit uchun alohida himoya parolini (passphrase) qo'yish tavsiya etiladi.
ssh-keygen -t ed25519 -C "noutbuk-ofis"
# Natija: ~/.ssh/id_ed25519 (yopiq kalit) va ~/.ssh/id_ed25519.pub (ochiq kalit)
# Linux/macOS'da ochiq kalitni serverga yuborish:
ssh-copy-id -i ~/.ssh/id_ed25519.pub deploy@203.0.113.10
Windows'da ssh-copy-id bo'lmasligi mumkin, bunday holda .pub faylining mazmunini serverdagi ~/.ssh/authorized_keys fayliga qo'lda qo'shasiz. Muhimi, yopiq kalit (id_ed25519) hech qachon kompyuteringizdan tashqariga chiqmasligi kerak: uni chatga, pochtaga yoki loyiha repozitoriyasiga qo'yish serverni boshqa odamga topshirish bilan barobar. Serverda papka va fayl huquqlari ham to'g'ri bo'lishi shart, aks holda SSH kalitni e'tiborsiz qoldiradi.
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
~/.ssh/config faylini sozlash
Remote SSH ulanish ma'lumotlarini standart SSH config faylidan oladi, shuning uchun uni bir marta to'g'ri yozib qo'ysangiz, keyin VS Code ro'yxatidan serverni tanlash kifoya. Har bir server uchun qisqa nom beriladi, IP manzil, foydalanuvchi, port va kalit yo'li ko'rsatiladi. Quyidagi misolda bitta VPS va bitta hosting akkaunti uchun yozuvlar bor.
Host misol-vps
HostName 203.0.113.10
User deploy
Port 22
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
Host misol-hosting
HostName example.uz
User s0123
Port 22
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval parametri har 60 soniyada kichik signal yuborib turadi va uzoq vaqt hech narsa yozmasangiz ham ulanish routerlar tomonidan uzib qo'yilishining oldini oladi. Avval oddiy terminalda ssh misol-vps buyrug'i bilan ulanishni tekshirib ko'ring: agar u yerda parolsiz kirsangiz, VS Code ham muammosiz ulanadi.
VS Code'da ulanish
Kengaytmalar bo'limidan Microsoft chiqargan "Remote - SSH" kengaytmasini o'rnating. So'ng chap pastki burchakdagi yashil yoki ko'k belgini bosing yoki F1 tugmasi bilan buyruqlar oynasini ochib "Remote-SSH: Connect to Host" ni tanlang. Ro'yxatda config faylidagi nomlar paydo bo'ladi; keraklisini tanlagach, birinchi marta server operatsion tizimini so'raydi va server qismini o'rnatadi. Ulanish tayyor bo'lgach "Open Folder" orqali loyiha papkasini, masalan /var/www/example.uz yoki hostingdagi sayt papkasini ochasiz.
Shundan keyin Ctrl+` bilan ochiladigan terminal ham serverda ishlaydi. Unda git status, composer install yoki php artisan migrate kabi buyruqlarni bajarish mumkin va ularni alohida SSH oynasiga o'tmasdan qilasiz. Kengaytmalar ikki turga bo'linadi: mavzu va klaviatura kabi interfeys kengaytmalari lokal ishlaydi, PHP yoki Python tahlilchilari esa serverga alohida o'rnatiladi, shuning uchun ulanishdan keyin ularni "Install in SSH" tugmasi bilan qayta o'rnatish kerak bo'lishi mumkin.
Amaliy misol: Toshkentdagi klinika sayti
Tasavvur qiling, Toshkentdagi kichik klinika uchun Laravel'da yozilgan qabulga yozilish sayti VPS'da ishlaydi va dasturchi har hafta jadval sahifasiga o'zgartirish kiritadi. Ilgari u faylni lokal tahrirlab, FTP orqali yuklar va ba'zan kesh tozalashni unutgani uchun o'zgarish ko'rinmay qolardi. Remote SSH bilan u misol-vps ga ulanadi, kerakli Blade shablonini ochib tuzatadi, o'sha oynadagi terminalda php artisan view:clear buyrug'ini bajaradi va natijani darhol brauzerda ko'radi. Xato chiqsa, storage/logs/laravel.log faylini ham shu muharrirda ochib, qidiruv bilan kerakli qatorni topadi.
Jonli serverda ishlash xavflari
Remote SSH qulayligi bir vaqtning o'zida xavf ham tug'diradi: saqlash tugmasi bosilishi bilan o'zgarish ishlab turgan saytga tushadi va tasodifiy xato butun saytni to'xtatishi mumkin. Shuning uchun quyidagi qoidalarga amal qilish foydali:
- Loyihani Git ostida saqlang va har bir o'zgarishdan keyin commit qiling, shunda noto'g'ri tahrirni bir buyruq bilan qaytarish mumkin bo'ladi.
- Katta o'zgarishlarni avval staging nusxada (masalan,
test.example.uz) sinab ko'ring, jonli saytda faqat mayda tuzatishlarni qiling. - Root foydalanuvchisi bilan ulanmang; sayt fayllariga egalik qiladigan alohida foydalanuvchi ishlating, shunda xato buyruq tizim fayllariga tegmaydi.
- Ish tugagach oynani yoping: ochiq qolgan sessiya server qismini fon rejimida ushlab turadi va resurs sarflaydi.
Tez-tez uchraydigan muammolar
Agar ulanish "Permission denied (publickey)" xatosi bilan to'xtasa, odatda kalit serverga qo'shilmagan yoki authorized_keys faylining huquqlari noto'g'ri bo'ladi. Ulanish uzoq "Setting up SSH host" bosqichida qotib qolsa, serverda disk joyi tugagan yoki chiquvchi internet cheklangan bo'lishi mumkin, chunki server qismi birinchi marta yuklab olinadi. Bunday hollarda chap paneldagi "Output" oynasida "Remote - SSH" jurnalini ochib, aniq xato matnini ko'rish eng tez yo'l hisoblanadi. Muammo serverning o'zida bo'lsa, eski ~/.vscode-server papkasini o'chirib qayta ulanish ko'pincha yordam beradi.