Как подключиться к виртуальной машине по ssh windows — вопрос, который часто возникает у разработчиков, системных администраторов или просто пользователей, тестирующих серверные решения. SSH (Secure Shell) — это защищённый протокол для удалённого управления серверами. В виртуальных машинах (ВМ) под Windows, Linux или другими ОС он позволяет работать с консолью так, будто вы сидите прямо за компьютером.

В этой статье разберём по шагам: как настроить SSH-сервер внутри виртуальной машины, как подключиться к ней с хоста (Windows), какие инструменты для этого нужны и на что обратить внимание. Рассмотрим популярные гипервизоры: VirtualBox, VMware и Hyper-V. А ещё — типичные ошибки и способы их решения.

Что нужно для подключения по к виртуальной машине

Прежде чем подключаться, убедитесь, что у вас есть всё необходимое:

1. Виртуальная машина с установленной ОС. Это может быть Ubuntu, Debian, CentOS или даже Windows Server (с поддержкой OpenSSH). Главное — чтобы на ВМ был запущен SSH-сервер.

2. Гипервизор. Программа для управления виртуальными машинами: VirtualBox (бесплатный), VMware Workstation или Hyper-V (встроенный в Windows 10/11 Pro).

3. SSH-клиент на хосте. В Windows можно использовать встроенный ssh в PowerShell, PuTTY или Termius. В Linux/macOS — терминал с командой ssh.

4. Сетевые настройки. Виртуальная машина должна быть доступна из хостовой системы. Обычно используется режим Bridge или NAT с пробросом портов.

💡

Если вы используете Windows 10/11, проверьте, включён ли OpenSSH-клиент: Пуск → Параметры → Приложения → Дополнительные компоненты → OpenSSH Client. Если нет — установите его через "Добавление компонента".

Режим сетиОписаниеПлюсыМинусы
Bridge (Мост)ВМ получает из вашей локальной сети, как отдельное устройство.Простота подключения, ВМ видна всем устройствам в сети.Требует настройки роутера, если нужно подключаться извне.
NATВМ использует хоста, но изолирована от внешней сети.Безопасно, не требует настройки роутера.Нужен проброс портов для доступа по SSH.
Host-OnlyВМ доступна только хосту.Идеален для тестирования, полная изоляция.Нельзя подключиться с других устройств.

Сравнение способов настройки сети для SSH

Выбор сетевого режима виртуальной машины напрямую влияет на то, как вы сможете подключиться по SSH. Рассмотрим плюсы и минусы каждого варианта:

В большинстве случаев для подключения по из хостовой Windows удобнее всего Bridge или NAT с пробросом портов. Host-Only подойдёт, если вы работаете только с локального компьютера.

Настройка SSH-сервера на виртуальной машине

Без запущенного SSH-сервера подключение невозможно. Разберём настройку для самых популярных ОС:

  • Ubuntu/Debian: Установите и запустите openssh-server:

    sudo apt update && sudo apt install openssh-server -y

    sudo systemctl enable --now ssh

    Проверьте статус: sudo systemctl status ssh.

  • CentOS/RHEL: Используйте yum или dnf:

    sudo dnf install openssh-server -y

    sudo systemctl enable --now sshd

    Обратите внимание: в CentOS сервис называется sshd, а не ssh.

  • Windows Server: Включите через Пуск → Параметры → Приложения → Дополнительные компоненты → OpenSSH Server. Запустите сервер:

    Start-Service sshd

    Set-Service -Name sshd -StartupType Automatic

После установки проверьте, что сервер слушает порт 22: sudo ss -tulnp | grep ssh (Linux) или netstat -ano | findstr :22 (Windows).

Настройка сети в гипервизоре

Теперь нужно настроить сеть так, чтобы хост (Windows) мог "достучаться" до виртуальной машины. Разберём на примере VirtualBox и VMware.

  1. VirtualBox:

    Откройте настройки ВМ → Сеть → Выберите адаптер (обычно 1).

    Установите режим Мостовый адаптер (Bridge) и выберите сетевой интерфейс хоста.

    Если используете NAT, нажмите на значок шестерёнки рядом с выпадающим списком и добавьте проброс портов:

    Имя: SSH, Протокол: TCP, Порт хоста: 2222, Порт гостя: 22.

  2. VMware Workstation:

    Откройте настройки ВМ → Network Adapter → Выберите Bridged: Connected directly to the physical network.

    Или NAT с добавлением проброса портов в VM → Settings → Network Adapter → Port Forwarding.

  3. Hyper-V:

    Используйте Hyper-V Manager → Выберите ВМ → Settings → Network Adapter.

    Подключите к внешнему виртуальному коммутатору (External) для режима моста.

⚠️ Внимание: Если вы используете NAT, не забудьте пробросить порт 22 (или другой, если SSH-сервер настроен на нестандартный порт) на хосте. Иначе подключение не удастся.
Какой гипервизор вы используете для виртюальных машин?
VirtualBox
VMware Workstation
Hyper-V
Другой

Сравнение SSH-клиентов для Windows

В Windows есть несколько способов подключиться к виртуальной машине по SSH. Каждый из них имеет свои плюсы:

КлиентОписаниеПлюсыМинусы
Встроенный в PowerShellДоступен в Windows 10/11 из коробки.Не требует установки, интеграция с PowerShell.Ограниченные настройки, нет графического интерфейса.
PuTTYПопулярный бесплатный клиент с GUI.Поддержкасессий, настройка туннелей, работает на старых версиях Windows.Устаревший интерфейс, нет встроенной поддержки ключей ed25519.
TermiusСовременный кроссплатформенный клиент.Удобный интерфейс, поддержка табов, синхронизация через облако.Бесплатная версия с ограничениями.
Windows TerminalМодернизированный терминал от Microsoft.Поддержка вкладов, настраиваемый дизайн, интеграция с WSL.Требует установки из Microsoft Store.

Для простых задач хватит встроенного в PowerShell. Если нужно что-то поудобнее — попробуйте Termius или PuTTY.

Как найти IP-адрес виртуальной машины

Чтобы подключиться по SSH, нужно знать IP-адрес виртуальной машины. Вот как его узнать в зависимости от ОС:

В Linux: выполните команду ip a или ifconfig (если установлен net-tools). Ищите строку с inet — это и есть IP.

Пример вывода: inet 192.168.1.100/24 — значит, виртуальной машины 192.168.1.100.

Windows Server: используйте ipconfig. Ищите адаптер с IPv4-адресом (обычно Ethernet или Wi-Fi).

Если ВМ в режиме NAT с пробросом портов, подключаться нужно к localhost или 127.0.0.1 с указанием проброшенного порта (например, 2222).

IP-адрес виртуальной машины в режиме Bridge будет из той же подсети, что и ваш хост. Например, если ваш компьютер имеет IP 192.168.1.50, то ВМ может получить 192.168.1.100.

Пошаговая инструкция: подключение по к виртуальной машине

Теперь переходим к самому подключению. Разберём процесс на примере разных клиентов.

Способ 1: Встроенный в PowerShell

1. Откройте PowerShell.

2. Введите команду:

ssh username@IP_адрес_ВМ

Где username — имя пользователя на ВМ (например, root или ваше имя), а IP_адрес_ВМ — IP, который вы узнали ранее.

3. При первом подключении появится запрос подтверждения отпечатка ключа — введите yes.

4. Введите пароль пользователя.

Способ 2: Подключение через PuTTY

1. Скачайте и установите PuTTY с официального сайта.

2. Запустите программу.

3. В поле Host Name (or IP address) введите виртуальной машины.

4. Убедитесь, что порт 22 (если не изменяли).

5. Нажмите Open.

6. Введите имя пользователя и пароль.

Способ 3: Подключение через Termius

1. Установите Termius из Microsoft Store или с сайта.

2. Создайте новую сессию: New Host.

3. Введите IP, порт, имя пользователя.

4. Сохраните и подключитесь.

Чек-лист перед подключением по SSH

Выполнено: 0 / 5

Часто задаваемые вопросы

Можно ли подключиться по к виртуальной машине Windows?

Да, но нужно установить и включить OpenSSH-сервер. В Windows 10/11 и Windows Server 2019/2022 он доступен как опциональный компонент. После установки запустите сервер командой Start-Service sshd и убедитесь, что порт 22 открыт в брандмауэре.

Что делать, если connection refused по SSH?

Ошибка Connection refused обычно означает, что SSH-сервер не запущен или порт закрыт. Проверьте:

— Работает ли SSH-сервер на ВМ (sudo systemctl status ssh для Linux).

— Открыт ли порт 22 (sudo ufw allow 22 для Ubuntu).

— Правильно ли настроена сеть в гипервизоре (например, проброс портов для NAT).

— Не блокирует ли брандмауэр хоста или ВМ подключение.

Как подключиться по SSH, если ВМ в режиме Host-Only?

В режиме Host-Only ВМ доступна только хосту. Узнайте её IP (обычно в диапазоне 192.168.56.x для VirtualBox или 192.168.1.x для VMware) и подключайтесь к нему с хоста. Например: ssh user@192.168.56.100.

Можно ли использовать ключи вместо пароля для SSH?

Да, это даже рекомендуется для безопасности. Сгенерируйте пару ключей на хосте (ssh-keygen -t ed25519), скопируйте публичный ключ на ВМ (ssh-copy-id user@IP для Linux) и отключите парольную аутентификацию в /etc/ssh/sshd_config (параметр PasswordAuthentication no).