SSH Agent di VSCode itu Konyol
(fly.io)-
VSCode dan pengeditan jarak jauh
- VSCode memiliki fitur yang mendukung pengeditan jarak jauh melalui SSH.
- Banyak pengguna memakai VSCode dan LLM (model bahasa besar) untuk menghasilkan kode.
- Ketika LLM menghasilkan kode yang salah, itu disebut "halusinasi", dan untuk mengatasinya penting menutup loop antara LLM dan lingkungan eksekusi melalui pengaturan "agen".
- Proses ini berlangsung dengan cara LLM menghasilkan kode, agen mengeksekusi kode, menghasilkan error, lalu memberikan umpan balik itu ke LLM untuk diulangi.
-
Masalah dalam lingkungan pengembangan
- Tidak ideal jika proses pengembangan yang berulang seperti ini terjadi di laptop pengembang.
- Karena LLM juga dapat memengaruhi konfigurasi sistem, lebih baik melakukan pekerjaan seperti ini di instans Linux yang bersih.
-
Emacs dan Tramp
- Emacs mendukung sistem pengeditan jarak jauh melalui Elisp berguna bernama Tramp.
- Tramp dapat terhubung ke lingkungan interaktif yang bisa menjalankan perintah shell Bourne melalui sesi SSH.
-
Pendekatan VSCode
- VSCode memiliki fungsi yang mirip dengan Tramp, tetapi tidak seperti Tramp, ia mencoba melakukan intervensi menyeluruh pada koneksi jarak jauh.
- Ia menjalankan Bash snippet stager untuk mengunduh agen, termasuk pemasangan biner Node.
- Agen dijalankan melalui SSH dengan port forwarding dan terhubung ke frontend VSCode melalui koneksi WebSockets.
- Protokol dasar koneksi ini dapat menjelajahi sistem file, mengedit file arbitrer, memulai proses shell PTY sendiri, dan memiliki persistensi.
-
Kekhawatiran keamanan
- Pemakaian VSCode secara serampangan untuk pengeditan jarak jauh di server pengembangan dapat menimbulkan masalah bagi perlindungan informasi sensitif maupun infrastruktur.
- Secara khusus, ada kekhawatiran bahwa menggunakan pengeditan jarak jauh VSCode saat terjadi masalah di lingkungan produksi nyata sangat berbahaya.
-
Kesimpulan
- Secara internal di Fly.io, agen serumit ini tidak mutlak diperlukan untuk menghubungkan Fly Machine dan VSCode secara langsung.
- Namun, demi keperluan blog, mereka akhirnya menyelidiki cara kerja koneksi jarak jauh VSCode, dan dalam prosesnya mengetahui fakta-fakta di atas.
1 komentar
Opini Hacker News
Sudah sebulan ingin menulis artikel panjang tentang perangkat lunak. Kurt khawatir karena tidak menulis di blog. Akhirnya memutuskan menulis sesuatu yang singkat. Rasanya bisa selesai dalam 30 menit
Semakin paham cara kerja VSCode, semakin terasa seperti dipertahankan dengan tambal sulam. Bahkan hanya melihat ekstensi SSH saja, workspace URI punya dua format
Saya tidak paham masalah keamanannya. Jika bisa masuk ke mesin lewat SSH dan meneruskan socket, seharusnya hal lain juga bisa dilakukan
Saat mengelola server jaringan, masalah besarnya adalah para mahasiswa tidak memahami klien OpenSSH
.vscode-serversetiap 10 detikFitur pengeditan SSH di VSCode bekerja dengan baik. Jadi saya tidak lagi memakai vim, nano, atau micro di mesin jarak jauh
Saya jadi tahu bahwa eksekusi kode jarak jauh itu mungkin. Kepercayaan yang keliru pada alat pengembangan sering berujung penyesalan
Istilah "SSH agent" membingungkan. Biasanya itu berarti daemon yang menyimpan cache token autentikasi
Orang yang merekomendasikan sshfs tidak memahami kelebihan lingkungan VSCode SSH Remote
Mengizinkan pengeditan jarak jauh VSCode di server pengembangan terasa meresahkan. Apalagi di server produksi
Instance VSCode lokal menjadi thin client, sementara instance jarak jauh menangani pekerjaan berat