
Fly.io: VSCode'un SSH ajanı göründüğünden çok daha müdahaleci
Fly.io mühendisi Thomas Ptacek, VSCode'un uzak sunucularda dosyaları nasıl düzenlediğini inceledi: Bash betiği sunucuya Node ile birlikte bir ajan kuruyor; ajan editöre WebSocket açıp dosyaları düzenleyebiliyor, kabuk başlatabiliyor ve kalıcı olabiliyor.
Fly.io mühendisi Thomas Ptacek, VSCode'un SSH üzerinden uzak makinelerdeki dosyaları nasıl düzenlediğine dair ayrıntılı bir inceleme yayımladı. Yazıda tarif edilen yapı, benzediği eski araçtan çok daha müdahaleci. "VSCode's SSH Agent Is Bananas" başlıklı yazı 7 Şubat 2025'te Fly blogunda çıktı.
Fly.io neden ilgilendi
Fly.io, platformunun VSCode'un uzak düzenleme için kullandığı akışa eklemlenmesini istiyor; çünkü geliştiricilerin çoğu artık VSCode kullanıyor, bunların arasında LLM'lerle kod üreten türevler de var. LLM'in yazdığı kod, model ile çalıştırma ortamı arasındaki döngü kapatıldığında çok daha faydalı hâle geliyor: model kodu yazıyor, ajan altyapısı onu çalıştırıyor, hatalar modele geri dönüyor ve süreç yineleniyor. Ptacek'e göre böyle bir döngüyü kendi dizüstü bilgisayarınızda çalıştırmak isteyeceğiniz son şey: LLM'ler sınır tanımıyor ve üzerinde çalıştığınız proje kadar sistem yapılandırmanızı da "elden geçirmeye" hazır. Bunun için daha güvenli yer, saniyeler içinde açılan temiz bir Linux örneği.
Tramp ve VSCode ajanı
Emacs'in Tramp'ı, uzaktan düzenlemenin "ruhani atası". Onu etkileşimli bir ortama, genellikle bir SSH oturumuna bağlayıp Bourne shell komutları çalıştırabildiğinizde, Emacs'i o makineye taşıyor ve uzak sunucuda zaten var olan araçlarla idare ediyor. VSCode'un da benzer bir özelliği var. Elisp yerine TypeScript kullanan basitleştirilmiş bir Tramp bekleyebilirsiniz. Ama öyle değil: Ptacek'e göre VSCode "tam ölçekli bir işgal" başlatıyor. Bir Bash betiği, uzak sunucuya Node'un ikili kurulumu dâhil bir ajan indiriyor. Ajan, port yönlendirmeli SSH üzerinden çalışıyor ve çalışan VSCode arayüzüne bir WebSocket bağlantısı açıyor.
Ajan neler yapabiliyor
Bu bağlantının arkasındaki protokol dosya sisteminde serbestçe dolaşabiliyor, rastgele dosyaları düzenleyebiliyor, kendi shell PTY süreçlerini başlatabiliyor ve kendini sunucuda kalıcı hâle getirebiliyor. Ptacek, güvenlik dünyasının böyle çalışan araçlar için bir adı olduğunu söylüyor ama bunu açıkça söylemiyor. Yalnızca adın "murid", yani kemirgen ailesinden geldiğini belirtiyor — uzaktan erişim truva atına açık bir gönderme.
Pratik sonuç
Ptacek, geliştirme sunucularında VSCode ile uzaktan düzenleme konusunda "biraz endişeli" olacağını, üretimde bir olay sırasında bunun yaşanması durumundaysa "çılgına döneceğini" söylüyor. Yazı pratik bir notla bitiyor: Fly.io, VSCode içinde bir Fly Machine'e özel bağlantı kurmak için tüm bunları bilmeye gerek olmadığını gördü. Bulgu işlerini engellemedi — sadece bilmeye değer olduğunu düşündüler.
SiTech — AI destekli web geliştirme
Hızlı ve modern web siteleri kuruyor, AI'yı gerçek iş akışlarına taşıyoruz. Projeniz veya sorunuz mu var? Yardımcı olmaktan mutluluk duyarız.