Как подключиться к виртуальной машине по 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 -ysudo systemctl enable --now sshПроверьте статус:
sudo systemctl status ssh. - CentOS/RHEL: Используйте
yumилиdnf:sudo dnf install openssh-server -ysudo systemctl enable --now sshdОбратите внимание: в CentOS сервис называется
sshd, а неssh. - Windows Server: Включите через
Пуск → Параметры → Приложения → Дополнительные компоненты → OpenSSH Server. Запустите сервер:Start-Service sshdSet-Service -Name sshd -StartupType Automatic
После установки проверьте, что сервер слушает порт 22: sudo ss -tulnp | grep ssh (Linux) или netstat -ano | findstr :22 (Windows).
Настройка сети в гипервизоре
Теперь нужно настроить сеть так, чтобы хост (Windows) мог "достучаться" до виртуальной машины. Разберём на примере VirtualBox и VMware.
- VirtualBox:
Откройте настройки ВМ →
Сеть→ Выберите адаптер (обычно1).Установите режим
Мостовый адаптер(Bridge) и выберите сетевой интерфейс хоста.Если используете
NAT, нажмите на значок шестерёнки рядом с выпадающим списком и добавьте проброс портов:Имя: SSH,Протокол: TCP,Порт хоста: 2222,Порт гостя: 22. - VMware Workstation:
Откройте настройки ВМ →
Network Adapter→ ВыберитеBridged: Connected directly to the physical network.Или
NATс добавлением проброса портов вVM → Settings → Network Adapter → Port Forwarding. - Hyper-V:
Используйте
Hyper-V Manager→ Выберите ВМ →Settings → Network Adapter.Подключите к внешнему виртуальному коммутатору (
External) для режима моста.
⚠️ Внимание: Если вы используете NAT, не забудьте пробросить порт 22 (или другой, если SSH-сервер настроен на нестандартный порт) на хосте. Иначе подключение не удастся.
Сравнение 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
Часто задаваемые вопросы
Можно ли подключиться по к виртуальной машине 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).