Preparing Windows templates
Windows guests have neither Cloudbase-Init nor OpenSSH Server preinstalled by default. You need to install and configure them manually.
To install Cloudbase-Init and OpenSSH Server inside a Windows virtual machine
Log in to a Windows VM.
Create a new administrator account that will be used for SSH connections and log in with it.
To install and configure OpenSSH Server:
Run Windows PowerShell with administrator privileges and set the execution policy to unrestricted to be able to run scripts:
Download OpenSSH Server (for example, from the GitHub repository), extract the archive into the C:\Program Files directory, and then install it by running:
Start the
sshd
service and set its startup type to “Automatic”:Open TCP port 22 for the OpenSSH service in the Windows Firewall:
On Windows 8.1, Windows Server 2012, and newer versions, run:
On Windows Server 2008/2008 R2, run:
Open the C:\ProgramData\ssh\sshd_config file:
Comment out the following lines at the end of the file:
Save the changes.
Create the .ssh directory in C:\Users\<current_user> and an empty authorized_keys file inside it:
Remove the .txt extension from the created file:
Modify the permissions for the created file to disable inheritance:
Download Cloudbase-Init from https://cloudbase.it/cloudbase-init/#download, and then install it by following the procedure from the Installation section at https://cloudbase.it/cloudbase-init/.
The password for the user specified during the Cloudbase-Init installation will be reset on the next VM startup. If this user does not exist, a new user account will be created. You will be able to log in with this account by using the key authentication method or you can set a new password with a customization script. If there are multiple Windows users at the image preparation time, the passwords for other users will not be changed.
When the Cloudbase-Init installation is complete, do not select the option to run Sysprep before clicking Finish. Otherwise, you will not be able to modify cloudbase-init.conf.
Run Windows PowerShell with administrator privileges and open the file C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\cloudbase-init.conf:
Add
metadata_services
andplugins
on two lines:Make sure to remove all backslashes in the lines above.
Save the changes.
Last updated