Гид по технологиям

SSH-профиль в Windows Terminal через WSL

4 min read Windows Terminal Обновлено 18 Nov 2025
SSH-профиль в Windows Terminal через WSL
SSH-профиль в Windows Terminal через WSL

Быстрые ссылки

  • Предпосылки
  • Настройка профиля
  • Проверка и отладка

Скриншот интерфейса Windows Terminal с выпадающим списком профилей

Windows Terminal — современное приложение терминала для Windows. Одна из удобных функций — возможность создавать индивидуальные профили, в том числе профиль, который сразу запускает SSH через WSL (bash). Это позволяет открывать терминал и автоматически подключаться к серверу без ручного ввода хоста.

Предпосылки

  • Установлен новый Windows Terminal из Microsoft Store.
  • Установлен WSL (Windows Subsystem for Linux). По умолчанию вызов bash.exe запускает дистрибутив по умолчанию.
  • На хосте должен быть доступен SSH и настроен пользователь (ключи/пароль).

Важно: профиль обычно используется для отдельных сред (например, Ubuntu WSL, PowerShell, CMD). Мы используем возможность “запустить профиль и выполнить команду”, чтобы вызвать ssh.

ssh

Это простая конфигурация, но она очень удобна.

Настройка профиля

  1. Откройте Windows Terminal, нажмите на стрелку выпадающего меню и выберите “Settings” (Параметры).

Скриншот окна настроек JSON в Windows Terminal

  1. Настройки представлены в виде JSON-файла. Найдите массив “profiles” -> “list” и добавьте туда новый объект профиля. Ниже — пример готового профиля (валидный JSON). Отредактируйте поля name, commandline и guid под свои нужды. Путь к иконке можно указать на локальную картинку.
{
  "name": "SERVER NAME",
  "commandline": "bash.exe -c \"ssh ubuntu@example.com\"",
  "guid": "{1d43c510-93e8-bbbb-a18b-e432641e0942}",
  "icon": "C:\\Users\\Anthony\\Pictures\\example.png",
  "closeOnExit": true,
  "colorScheme": "Campbell",
  "cursorColor": "#FFFFFF",
  "cursorShape": "bar",
  "fontFace": "RobotoMono Nerd Font",
  "fontSize": 10,
  "historySize": 9001,
  "snapOnInput": true,
  "startingDirectory": ""
}

Пояснения к полям:

  • name — отображаемое имя профиля в выпадающем списке. Замените на понятное (например, prod-web-1).
  • commandline — команда, которая будет выполнена при запуске профиля. Внутри JSON кавычки для ssh-команды должны быть экранированы.
  • guid — уникальный идентификатор профиля. Можно сгенерировать новый GUID или отредактировать существующий.
  • icon — необязательно, путь к изображению, которое будет отображаться в списке профилей.
  • Остальные параметры управляют внешним видом и поведением терминала.

Сохраните файл (Ctrl+S). После сохранения профиль появится в выпадающем списке профилей.

Пример выпадающего списка профилей с новым SSH-профилем

Клик по профилю откроет bash и выполнит ssh к указанному серверу автоматически.

Частые вопросы и отладка

Не запускается SSH — что проверить

  • Проверьте, что команда ssh работает вручную в WSL: откройте bash.exe и выполните ssh ubuntu@example.com.
  • Убедитесь, что путь в commandline экранирован правильно (см. пример выше).
  • Проверьте значение поля “guid” — оно должно быть уникальным.
  • Если используете SSH-ключи, убедитесь, что агент SSH запущен и ключи доступны в среде WSL.

Важно: если в команде присутствуют дополнительные параметры (порт, опции), экранируйте их внутри string: например, “bash.exe -c \”ssh -p 2222 user@host\””.

Ошибки кодировки или шрифтов

Если символы отображаются некорректно, проверьте fontFace и fontSize в профиле. Некоторые моноширинные шрифты могут не содержать нужных символов; выберите совместимый шрифт.

Когда это не подходит

  • Если вы хотите полноценную сессию PowerShell или CMD на удалённом хосте — лучше настроить удалённый доступ через RDP или отдельные профили PowerShell с удалённым WinRM.
  • Для динамического выбора хоста (например, список серверов) этот метод требует создания многих статических профилей; в таких сценариях удобнее использовать скрипт-меню внутри WSL.

Альтернативные подходы

  • Использование ярлыков Windows с командой “wsl ssh user@host” для каждой машины.
  • Скрипт в WSL, который принимает параметр и показывает интерактивное меню выбора сервера.
  • Использование PuTTY/Kitty или встроенного OpenSSH для Windows, если не хочется запускать WSL.

Шаблон: универсальный профиль с портом и аргументами

{
  "name": "SSH: my-server",
  "commandline": "bash.exe -c \"ssh -i ~/.ssh/id_rsa -p 2200 user@my-server.example.com\"",
  "guid": "{2a5f8e10-0000-aaaa-bbbb-ccccdddd1111}",
  "icon": "C:\\Users\\Public\\Pictures\\server-icon.png",
  "closeOnExit": false,
  "colorScheme": "One Half Dark",
  "cursorShape": "filledBox",
  "fontFace": "Consolas",
  "fontSize": 12
}

Чек-лист перед сохранением

  • Изменён name на понятное имя.
  • commandline корректно экранирован.
  • guid уникален.
  • Если используется иконка — путь существует.
  • SSH-ключи/агент доступны в WSL.

Критерии приёмки

  1. Профиль отображается в выпадающем меню Windows Terminal.
  2. Клик по профилю открывает окно терминала и автоматически выполняет SSH-подключение.
  3. Подключение проходит без ошибок (аутентификация успешна).
  4. Если closeOnExit=false — окно остаётся открытым после завершения сессии.

Безопасность и рекомендации

  • Не храните закрытые ключи в общедоступных папках Windows без шифрования.
  • Отключайте автоматический вход по паролю; предпочтительнее ключи с passphrase и агентом.
  • Для нескольких серверов используйте разные ключи и записи в ~/.ssh/config для удобства.

Короткая методология настройки

  1. Проверьте работу ssh в WSL вручную.
  2. Скопируйте и адаптируйте пример JSON-профиля.
  3. Экранируйте кавычки и сохраните настройки.
  4. Протестируйте профиль и при необходимости откорректируйте.

Глоссарий (1 строка)

  • WSL — подсистема Windows для запуска Linux-приложений.
  • GUID — уникальный идентификатор профиля.
  • commandline — команда, выполняемая при запуске профиля.

Итог

Создание SSH-профиля в Windows Terminal через WSL позволяет сэкономить время и стандартизировать доступ к серверам. Используйте шаблоны, храните ключи безопасно и проверяйте экранирование команд в JSON.

Иконка профиля и результат в выпадающем меню Terminal

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Множественные build context в Docker
DevOps

Множественные build context в Docker

Установка Windows 11 в VirtualBox на Linux
Virtualization

Установка Windows 11 в VirtualBox на Linux

Как говорить о деньгах с близкими
Личные финансы

Как говорить о деньгах с близкими

Исправить высокий CPU в Linux
Linux

Исправить высокий CPU в Linux

Восстановить значок Корзины в Windows 10
Windows

Восстановить значок Корзины в Windows 10

Как отвязать Apple Watch от iPhone
Гаджеты

Как отвязать Apple Watch от iPhone