Настройка загрузочных томов Windows#
В гостевых ОС Windows по умолчанию не предустановлены ни Cloudbase-Init, ни OpenSSH Server. Их необходимо установить и настроить вручную.
Как установить Cloudbase-Init и OpenSSH Server в виртуальную машину Windows
Выполните вход в ВМ Windows.
Создайте новую учетную запись администратора, которая будет использоваться для SSH-подключений, и выполните вход с этой учетной записью.
Чтобы установить и настроить OpenSSH Server
Запустите Windows PowerShell с правами администратора и установите для политики выполнения значение Unrestricted, чтобы иметь возможность выполнять скрипты.
> Set-ExecutionPolicy Unrestricted
Загрузите OpenSSH Server (например, из репозитория GitHub), распакуйте архив в папку
C:\Program Filesи установите его, выполнив следующую команду:> & 'C:\Program Files\OpenSSH-Win64\install-sshd.ps1'
Запустите сервис
sshdи задайте для него автоматический тип запуска.> net start sshd > Set-Service sshd -StartupType Automatic
Откройте порт TCP 22 для сервиса OpenSSH в брандмауэре Windows.
В Windows 8.1, Windows Server 2012 и более новых версиях выполните следующую команду:
> New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName OpenSSH
В Windows 7, Windows Server 2008 и Windows Server 2008 R2 выполните следующую команду:
> netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
Откройте файл
C:\ProgramData\ssh\sshd_config.> notepad 'C:\ProgramData\ssh\sshd_config'
Закомментируйте следующие строки в конце файла:
#Match Group administrators #AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Сохраните изменения.
Создайте папку
.sshвC:\Users\<current_user>и пустой файлauthorized_keysвнутри нее.> cd C:\Users\<current_user> > mkdir .ssh > notepad .\.ssh\authorized_keys
Удалите расширение .txt у созданного файла.
> move .\.ssh\authorized_keys.txt .\.ssh\authorized_keys
Измените разрешения для созданного файла, чтобы отключить наследование.
> icacls .\.ssh\authorized_keys /inheritance:r
Загрузите Cloudbase-Init (например, с официального сайта), запустите установку и следуйте инструкциям на экране.
В окне Параметры конфигурации введите текущее имя пользователя в поле Имя пользователя.
Важно
Пароль учетной записи будет сброшен при следующем запуске ВМ. Вы сможете выполнить вход с этой учетной записью, используя метод аутентификации с ключом, либо установить новый пароль с помощью скрипта настройки.

После окончания установки не запускайте Sysprep и нажмите Завершить.

Запустите Windows PowerShell с правами администратора и откройте файл
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf.> notepad 'C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf'
Добавьте
metadata_servicesиpluginsв две строки.metadata_services=\ cloudbaseinit.metadata.services.configdrive.ConfigDriveService,\ cloudbaseinit.metadata.services.httpservice.HttpService\ plugins=cloudbaseinit.plugins.common.mtu.MTUPlugin,\ cloudbaseinit.plugins.windows.ntpclient.NTPClientPlugin,\ cloudbaseinit.plugins.common.sethostname.SetHostNamePlugin,\ cloudbaseinit.plugins.windows.createuser.CreateUserPlugin,\ cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin,\ cloudbaseinit.plugins.windows.licensing.WindowsLicensingPlugin,\ cloudbaseinit.plugins.common.sshpublickeys.SetUserSSHPublicKeysPlugin,\ cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin,\ cloudbaseinit.plugins.common.setuserpassword.SetUserPasswordPlugin,\ cloudbaseinit.plugins.common.userdata.UserDataPlugin,\ cloudbaseinit.plugins.windows.winrmlistener.ConfigWinRMListenerPlugin,\ cloudbaseinit.plugins.windows.winrmcertificateauth.\ ConfigWinRMCertificateAuthPlugin,\ cloudbaseinit.plugins.common.localscripts.LocalScriptsPlugin
Примечание
Не забудьте удалить все символы обратной косой черты в строках выше.
Сохраните изменения.