Вопрос или проблема
Я пытаюсь подключиться к виртуальной машине, работающей на гипервизоре KVM, с хост-машины (Ubuntu 14.04) через ssh, но получаю следующую ошибку:
ssh: connect to host 10.117.82.2 port 22: Соединение отвергнуто
Как я могу включить ssh
на виртуальной машине-госте? Я установил виртуальную машину с помощью virt-install
. Есть ли какой-либо способ в virt-install
для включения ssh
?
Один из простых способов применить первоначальные настройки, такие как установка SSH, – использовать VNC.
- Используйте следующую команду, чтобы получить список виртуальных машин:
sudo virsh list --all
- Откройте XML файл конфигурации:
sudo virsh edit YOUR_VM_NAME
- Добавьте следующую строку перед финальной:
<graphics type="vnc" port="-1" autoport="yes" listen='192.168.1.5' passwd='YOUR-PASSWORD-HERE' keymap='en-us'/>
где адрес прослушивания – это IP-адрес сервера, а не гостевой ОС
- Используйте VNC-клиент, чтобы подключиться к гостевой ОС
Ответ или решение
Чтобы включить SSH на виртуальной машине, работающей на гипервизоре KVM, выполните следующие шаги:
-
Проверьте состояние виртуальной машины: Убедитесь, что ваша виртуальная машина запущена. Для этого выполните команду:
sudo virsh list --all
Убедитесь, что статус вашей виртуальной машины –
running
. -
Убедитесь, что SSH установлен в гостевой ОС: Если у вас есть доступ к консоли виртуальной машины (через VNC или другой способ), убедитесь, что SSH-сервер установлен и запущен. Для этого зайдите на виртуальную машину и выполните следующие команды:
# Установите OpenSSH Server, если он еще не установлен sudo apt-get update sudo apt-get install openssh-server # Убедитесь, что сервис SSH запущен sudo systemctl start ssh sudo systemctl enable ssh
-
Настройте сеть виртуальной машины: Убедитесь, что сетевой интерфейс виртуальной машины правильно настроен и получает IP-адрес. Обычно это можно сделать через настройку NAT или мостового подключения.
-
Использование VNC для первоначальной конфигурации:
Если вы не можете получить доступ к SSH, вы можете использовать VNC для настройки:-
Откройте конфигурацию вашей виртуальной машины:
sudo virsh edit YOUR_VM_NAME
-
Добавьте следующую строку перед конечным тегом:
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' />
Это позволит подключаться к VM через VNC без установки пароля. Если хотите установить пароль, его можно добавить как атрибут
passwd='YOUR-PASSWORD-HERE'
. -
Перезапустите виртуальную машину, чтобы применить изменения:
sudo virsh shutdown YOUR_VM_NAME sudo virsh start YOUR_VM_NAME
-
Используйте VNC-клиент для подключения к вашей VM через IP-адрес хоста. Как только вы получите доступ к консоли, вы сможете настроить SSH и убедиться, что он работает.
-
-
Проверка конфигурации брандмауэра: Убедитесь, что ваш брандмауэр на гостевой машине не блокирует порт 22. Для этого выполните:
sudo ufw allow 22 sudo ufw status
-
Проверка подключения через SSH: После выполнения всех вышеперечисленных действий попробуйте еще раз подключиться к вашей виртуальной машине через SSH:
ssh имя_пользователя@10.117.82.2
Если вы выполнили все шаги, и у вас по-прежнему возникают проблемы с подключением, рекомендуется ознакомиться с журналами SSH и системными журналами для выявления причин, а также проверить настройки сети и маршрутизации между вашей основной системой и виртуальной машиной.