Настройка загрузочных томов 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Не забудьте удалить все символы обратной косой черты в строках выше.
Сохраните изменения.
-