Запускаю dhctl bootstrap, ВМ в облаке создаются, но dhctl бесконечно ждёт SSH-подключения к мастеру. Обычный ssh с тем же ключом работает.
Запускаю dhctl bootstrap, ВМ в облаке создаются, но dhctl бесконечно ждёт SSH-подключения к мастеру. Обычный ssh с тем же ключом работает.
Частые причины:
Бастион. Псевдонимы из ~/.ssh/config dhctl не использует: бастион задают флагами, в --ssh-bastion-host указывают IP-адрес или DNS-имя. Если --ssh-bastion-user не задан, берётся значение --ssh-user.
dhctl bootstrap --ssh-user=<user> --ssh-agent-private-keys=/tmp/.ssh/id_rsa \
--ssh-bastion-host=<адрес-бастиона> --ssh-bastion-user=<user> --config=/config.yml
В Yandex Cloud со схемами WithNATInstance и Standard у узлов нет публичных IP-адресов, а NAT-инстанс dhctl в качестве промежуточного хоста не использует. Нужен бастион или публичный IP-адрес мастера (externalIPAddresses и externalSubnetIDs в masterNodeGroup.instanceClass).
Пользователь образа. Для облачных образов это обычно ubuntu (Ubuntu), debian (Debian), cloud-user (CentOS), а не root: вход под root cloud-init в таких образах обычно закрывает.
Директива Banner в sshd_config. Уберите её на время установки. В Deckhouse Platform до 1.77 можно также попробовать флаг --ssh-modern-mode (встроенный SSH-клиент вместо OpenSSH); начиная с 1.77 этот клиент используется по умолчанию.
Соединения рвутся с Connection closed by ... port 22. Проверьте ограничение MaxStartups в sshd_config на мастере.
VPN на машине с установщиком. Отключите VPN или запускайте контейнер установщика с --network host.
Подробнее в документации: установка Deckhouse.