Назад | Перейти на главную страницу

Подключение к Virtmanager через настраиваемую команду SSH?

Я хотел бы использовать virt-manager для управления моими виртуальными машинами libvirt / kvm, работающими на удаленном хосте, но метод, который я использую для ssh на этом хосте, немного сложен. Мне нужно использовать настраиваемые порты вместе с пересылкой агента с несколькими переходами. Например, для ssh в этом поле KVM я использую сертификат идентификации по умолчанию и выполняю эту команду:

ssh -At -p 4188 www.example.com ssh -At -p 8854 virt-host.internals.int

Диалог для удаленных подключений Virtmanager кажется довольно примитивным, и мне было интересно, есть ли обходной путь?

Я думаю, у тебя две проблемы.

1) настройка единственного ssh-соединения, которое проходит через хост-бастион.

Это в основном та же проблема, что и Как мне осуществлять переводы Multihop SCP? так что сначала прочтите это.

2) теперь, когда вы знаете, как работать с этим в командной строке более прозрачно, вам нужно настроить его так, чтобы это происходило без параметров CLI.

Настроить ~/.ssh/config файл для пользователя, выполняющего ssh'ing. (Почти?) Все, что вы можете указать в командной строке ssh, вы можете указать в файле конфигурации.

Для этого вам понадобится что-то вроде:

host www.example.com
    port 4188
    forwardagent yes
host virt-host.internals.int
    proxycommand ssh www.example.com nc virt-host.internals.int 8854 

Я не тестировал это, поэтому синтаксис может быть неправильным, но он должен помочь вам двигаться в правильном направлении.

Обратите внимание, что предполагается, что вы можете разрешить имя virt-host.internals.int с исходного клиентского компьютера. Это может быть не так (только внутренний DNS), и в этом случае вам придется как-то его заблокировать (например, /etc/hosts, используя ip вместо имени хоста и т. д.).