В разборе Fly.io автор пишет, что VS Code при удалённом редактировании по SSH запускает Bash-скрипт и скачивает агент вместе с двоичной версией Node. Агент — программа, которая выполняет команды на удалённой машине.
По словам Fly.io, агент работает через SSH с перенаправлением порта и устанавливает WebSocket-соединение с интерфейсом VS Code. WebSocket-соединение — постоянный канал связи между приложениями.
Fly.io пишет, что этот протокол позволяет перемещаться по файловой системе, менять файлы и запускать процессы в командной оболочке с терминалом. Автор назвал удалённое редактирование на серверах разработки поводом для беспокойства, а работу во время инцидента в рабочей среде — тем более.
Проверка утверждений:
- В разборе Fly.io автор пишет, что VS Code при удалённом редактировании по SSH запускает Bash-скрипт и скачивает агент вместе с двоичной версией Node. (подтверждено самой публикацией: доказательство; «Unlike Tramp, which lives off the land on the remote connection, VSCode mounts a full-scale invasion: it runs a Bash snippet stager that downloads an agent, including a binary installation of Node.»)
- По словам Fly.io, агент работает через SSH с перенаправлением порта и устанавливает WebSocket-соединение с интерфейсом VS Code. (подтверждено самой публикацией: доказательство; «The agent runs over port-forwarded SSH. It establishes a WebSockets connection back to your running VSCode front-end.»)
- Fly.io пишет, что этот протокол позволяет перемещаться по файловой системе, менять файлы и запускать процессы в командной оболочке с терминалом. (подтверждено самой публикацией: доказательство; «The underlying protocol on that connection can: - Wander around the filesystem - Edit arbitrary files - Launch its own shell PTY processes»)
- Автор назвал удалённое редактирование на серверах разработки поводом для беспокойства, а работу во время инцидента в рабочей среде — тем более. (подтверждено самой публикацией: доказательство; «I would be a little nervous about letting people VSCode-remote-edit stuff on dev servers, and apoplectic if that happened during an incident on something in production.»)
Публикации:
Первоисточники:
- https://github.com/microsoft/vscode/tree/c9e7e1b72f80b12ffc00e06153afcfedba9ec31f/src/vs/server/node
оценка 66,0 из 100 · тип: руководство