Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>vSSHNew to Visual Studio Code? Get it now.
vSSH

vSSH

addspin

|
2 installs
| (0) | Free
SSH Manager for VS Code and other forks - Connect, manage servers, and transfer files
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

vSSH - SSH Manager for VS Code and other forks

Менеджер SSH подключений с интеграцией SFTP, поддержкой туннелей, сессий и SSH Gateway.

Возможности

  • 📁 Организация серверов - группировка по папкам с цветовой маркировкой
  • ⭐ Избранное - быстрый доступ к часто используемым серверам
  • 📚 Сессии - группировка серверов для одновременного подключения
  • 🔌 Быстрое подключение - SSH терминал в один клик
  • 📤 SFTP браузер - передача файлов
  • 🚇 SSH туннели - создание локальных туннелей с автозапуском
  • 🌉 SSH Gateway - подключение через Bastion/Jump Host
  • 🔍 Поиск серверов - быстрый поиск по имени, хосту, пользователю
  • 📋 Отдельный конфиг - ~/.vssh/vssh-config.json
  • 🔐 Шифрование - AES-256-CBC для паролей
  • 📥 Импорт/Экспорт - перенос конфигурации

Требования

Для password аутентификации:

  • macOS: brew install sshpass
  • Linux: apt install sshpass
  • Windows: Не требуется (используется встроенная аутентификация)

Для privateKey аутентификации:

  • Ничего дополнительно не требуется

Для SSH Gateway с паролем:

  • Требуется sshpass (см. выше)

Установка

VS Code

# Из VSIX файла
code --install-extension vssh-1.0.1.vsix --force

# После установки перезапустите VS Code (Cmd+Q / полностью закройте и откройте)

Cursor

# Из VSIX файла
cursor --install-extension vssh-1.0.1.vsix --force

Из GitHub Releases

  1. Скачайте .vsix файл со страницы Releases
  2. Установите командой выше или через GUI

Запуск и использование

После установки

  1. Откройте VS Code или Cursor
  2. Нажмите на иконку vSSH Explorer в левой панели (activity bar)
  3. Или нажмите Ctrl+Shift+P (Cmd+Shift+P на Mac) → введите vSSH

Первый запуск для разработки

Если вы разрабатываете плагин:

# Терминал 1: режим компиляции с наблюдением
npm run watch

# Терминал 2: запустите VS Code для отладки
code .
# Затем нажмите F5 для запуска в режиме отладки

Откроется новое окно VS Code с установленным плагином.


Использование

Открытие панели

  1. Нажмите на иконку vSSH Explorer в activity bar (слева)
  2. Или Ctrl+Shift+P → vSSH: SSH Servers

Добавление сервера

  1. Нажмите кнопку + Add Server в панели
  2. Заполните параметры:
    • Имя сервера
    • Host (IP или домен)
    • Порт (по умолчанию 22)
    • Имя пользователя
    • Метод аутентификации (ключ или пароль)
  3. Настройте Gateway (опционально):
    • Выберите "Настроить Gateway"
    • Введите Gateway Host, Port, Username
    • Выберите метод аутентификации Gateway
  4. Нажмите Enter

Подключение

  • Кликните на сервер → иконка Connect (📎)
  • Откроется терминал с SSH сессией

SFTP

  1. Правый клик на сервере → Open SFTP Panel
  2. Откроется панель с файлами сервера
  3. Используйте кнопки для загрузки/скачивания файлов

Туннели

Создание туннеля:

  1. Правый клик на сервере → Create Tunnel
  2. Введите: localPort:remoteHost:remotePort (например: 8080:localhost:80)
  3. Выберите автозапуск (опционально)

Управление туннелями:

  • Панель SSH Tunnels отображает все сохранённые туннели
  • 🚀 - туннели с автозапуском
  • ▶️ - запустить туннель
  • ⏹️ - остановить туннель
  • 🗑️ - удалить туннель
  • Close All - закрыть все активные туннели

Автозапуск туннелей:

  • Туннели с 🚀 запускаются автоматически при старте VS Code
  • Остальные можно запустить вручную из панели туннелей

SSH Gateway (Bastion / Jump Host)

Подключение к внутренним серверам через промежуточный хост:

  1. При создании сервера выберите "Настроить Gateway"
  2. Заполните параметры Gateway:
    • Host - IP или домен bastion (например: 10.0.0.1)
    • Port - порт bastion (обычно 22)
    • Username - пользователь на bastion
    • Auth Method - ключ или пароль
    • Password/Key - аутентификация для bastion

Пример сценария:

Ваш компьютер → Bastion (10.0.0.1) → Внутренний сервер (192.168.1.100)

Папки

Создание папки:

  • Нажмите + Add Folder в заголовке панели
  • Или правый клик на папке → Add Folder (создаст подпапку)

Цвет папки:

  • При создании выберите цвет (синий, зелёный, жёлтый, оранжевый, красный, фиолетовый)
  • Правый клик на папке → Edit Folder → изменить цвет

Перемещение:

  • Drag-and-drop серверов и папок между папками
  • Перетащите в корень для извлечения из папки

Удаление:

  • Правый клик на папке → Delete Folder
  • ⚠️ Удаляет все серверы и подпапки внутри

Поиск серверов

  1. Нажмите кнопку 🔍 Search Servers в панели
  2. Введите запрос (имя, хост или пользователь)
  3. Выберите сервер из списка
  4. Сервер подключится

Избранное (Favorites)

Добавить в избранное:

  1. Найдите сервер в SSH Servers
  2. Нажмите ⭐ Add to Favorites (звезда справа от сервера)
  3. Сервер появится в панели Favorites

Открыть из избранного:

  1. Кликните на сервер в Favorites
  2. Или нажмите 📡 Open
  3. Сервер подключится

Удалить из избранного:

  1. Нажмите 🗑️ Remove на сервере
  2. Или правый клик → Remove from Favorites

Сессии (Sessions)

Создать сессию:

  1. Нажмите 💾 Create Session в заголовке SSH Servers или Sessions
  2. Введите имя сессии (например: "Production Servers")

Добавить сервер в сессию:

  1. Найдите сервер в SSH Servers
  2. Нажмите 💾 Save to Session
  3. Выберите сессию из списка

Запустить сессию:

  1. Откройте панель Sessions
  2. Найдите папку сессии
  3. Нажмите ▶️ Launch Session
  4. Все серверы сессии подключатся одновременно

Управление сессией:

  • 🗑️ Remove на сервере в сессии — удалить сервер из сессии
  • 🗑️ Delete Session на папке — удалить всю сессию

Пример структуры сессии:

Sessions:
  📁 Production (3 серверов)  [▶️]
    ├─ 🖥 prod-web-01  [🗑️]
    ├─ 🖥 prod-web-02  [🗑️]
    └─ 🖥 prod-db-01  [🗑️]

Команды

Команда Описание
vSSH: Add Server Добавить сервер
vSSH: Add Folder Создать папку
vSSH: Search Servers Поиск серверов
vSSH: Connect Подключиться по SSH
vSSH: Edit Server Редактировать сервер
vSSH: Delete Server Удалить сервер
vSSH: Edit Folder Редактировать папку (имя, цвет)
vSSH: Delete Folder Удалить папку
vSSH: Add to Favorites Добавить в избранное
vSSH: Open Favorite Открыть избранное
vSSH: Remove from Favorites Удалить из избранного
vSSH: Create Session Создать сессию
vSSH: Save to Session Сохранить сервер в сессию
vSSH: Launch Session Запустить сессию
vSSH: Remove Server from Session Удалить сервер из сессии
vSSH: Delete Session Удалить сессию
vSSH: Open SFTP Panel Открыть SFTP браузер
vSSH: Create Tunnel Создать туннель
vSSH: Start Tunnel Запустить сохранённый туннель
vSSH: Stop Tunnel Остановить туннель
vSSH: Delete Tunnel Удалить туннель
vSSH: Close All Tunnels Закрыть все туннели
vSSH: Open SSH Config Открыть файл конфигурации
vSSH: Import SSH Config Импортировать конфигурацию
vSSH: Export SSH Config Экспортировать конфигурацию

Конфигурация

Расположение

~/.vssh/vssh-config.json

Формат

{
  "servers": [
    {
      "name": "production",
      "host": "192.168.1.100",
      "port": 22,
      "username": "admin",
      "authMethod": "privateKey",
      "privateKeyPath": "/Users/user/.ssh/id_rsa",
      "folder": "a1b2c3d4e5f6",
      "gateway": {
        "host": "10.0.0.1",
        "port": 22,
        "username": "bastion",
        "authMethod": "password",
        "password": "AES256:encrypted..."
      }
    }
  ],
  "folders": [
    {
      "id": "a1b2c3d4e5f6",
      "name": "Production",
      "color": "#e05555",
      "parentFolder": null
    }
  ],
  "tunnels": [
    {
      "id": "tunnel123",
      "serverName": "production",
      "serverId": "production",
      "localPort": 8080,
      "remoteHost": "localhost",
      "remotePort": 80,
      "isActive": false,
      "autoStart": true
    }
  ],
  "favorites": [
    {
      "id": "fav123",
      "name": "production",
      "serverName": "production",
      "serverId": "production",
      "savedAt": "2026-02-23T..."
    }
  ],
  "sessions": [
    {
      "id": "session123",
      "name": "Production Servers",
      "servers": ["prod-web-01", "prod-web-02", "prod-db-01"],
      "savedAt": "2026-02-23T..."
    }
  ]
}

Шифрование

  • Пароли шифруются алгоритмом AES-256-CBC
  • Пароли расшифровываются только на вашем компьютере

Разработка

# Установка зависимостей
npm install

# Компиляция
npm run compile

# Режим наблюдения
npm run watch

# Сборка VSIX
npm run package

# Установка локальной версии
code --install-extension vssh-1.0.1.vsix --force

Структура проекта

vssh/
├── src/
│   ├── extension.ts        # Точка входа, регистрация команд
│   ├── serverProvider.ts   # Дерево серверов/папок, drag-and-drop
│   ├── sftpProvider.ts     # SFTP дерево с upload/download/edit
│   ├── sshConfig.ts        # Менеджер конфигурации с шифрованием
│   ├── sshConnection.ts    # SSH подключение через терминал
│   ├── tunnelManager.ts    # SSH туннели с автозапуском
│   ├── tunnelProvider.ts   # Провайдер дерева туннелей
│   ├── favoriteManager.ts  # Менеджер избранного
│   ├── favoriteProvider.ts # Провайдер дерева избранного
│   ├── sessionManager.ts   # Менеджер сессий
│   ├── sessionProvider.ts  # Провайдер дерева сессий
│   └── types.ts            # TypeScript интерфейсы
├── images/
│   └── icon.png            # Иконка расширения
├── package.json            # Manifest расширения
├── tsconfig.json           # TypeScript конфигурация
└── README.md               # Документация

Частые проблемы

sshpass не найден

Симптом: При подключении с паролем появляется предупреждение

Решение:

# macOS
brew install sshpass

# Linux (Debian/Ubuntu)
sudo apt install sshpass

# Linux (RHEL/CentOS)
sudo yum install sshpass

Туннель не создаётся

Симптом: Ошибка "Порт уже используется"

Решение:

  • Проверьте занятость порта: lsof -i :8080
  • Освободите порт или используйте другой
  • Закройте старые туннели: Close All Tunnels

Папки не отображаются

Симптом: Папки созданы, но не видны в дереве

Решение:

  • Перезагрузите VS Code полностью (Cmd+Q / Quit)
  • Проверьте консоль разработчика на ошибки

Лицензия

MIT


Ссылки

  • GitHub Repository
  • Issues & Feature Requests
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft