SSH keys are installed on your client workstation and once loaded into the FiFo management interface allow you to login to your guest virtual machines without the need for a root password. This authentication method is not only more secure but also more convenient than using a typed password. It is essential to get SSH keys setup when working with SmartOS VMs. This is because many of the datasets with preconfigured applications don't allow you to setup a root or admin password when provisioning the new virtual machine. In which case you'll not be able to get root access to your virtual machine.
On Mac OS X the setup procedure is relatively simple as the OS already has everything you need in-terms of an SSH client and SSH keys, but on Windows you'll need to install the required software. The most widely used Windows SSH client is PuTTY which is available for free download from http://www.putty.org/. You'll want to download the full windows installer as opposed to just putty.exe as the installer includes other required files. While you're at it you'll also want to download WinSCP from http://winscp.net which is complimentary to PuTTY and allows Explorer style file manipulation via SSH. WinSCP is perhaps the best SSH file manager and it's also free.
Note: You'll probably want to install Putty into the default folder as WinSCP will look for it in %PROGRAMFILES%\PuTTY\putty.exe by default.
Once PuTTY is installed you'll want to generate your SSH keys by running the PuTTY Key Generator (puttygen.exe).
The default key setting of SSH-2 RSA 2048 is fine and I find it useful to use an email address in the key comment field, this will identify who's key it is when you have more than one key in use. You can save the private and public keys using any name but to be consistent with OS X I use 'id_rsa' and 'id_rsa.pub' respectively. A key passphrase is not required but is recommended. The password is only used when loading the private key file and not at every login.
Note: Right click puttygen.exe and run as administrator on newer versions of Windows or your files will be written to an unprivileged area of the file system (%localappdata%\VirtualStore) and you won't be able to find them in other apps.
Once your keys are saved you can load the private key into the SSH authentication agent (pageant.exe) which can also be found at the PuTTY path (%PROGRAMFILES%\PuTTY).
Once executed you'll see the agent running in the task tray. Just right click the icon to add your private key. Your public key file is the one you'll distribute to systems you want to authenticate to, in this case to the FiFo management UI so it can be automatically loaded into your SmartOS virtual machines. But you can also use your new public key to authenticate to any other UNIX type system also.
Next copy the SSH public key from the PuTTY key generator by right clicking and selecting-all then copying to your clipboard.
Next we'll login to FiFo to load your new SSH public key, click on your username in the top right hand side of the FiFo window, click on 'My Info' then go to the 'SSH Keys' tab. You can have multiple keys but they do require unique 'Key Comments' as FiFo uses the key comment as the key name. Paste the copied key into the area provided and click 'add'.
Now you'll be able to login to any new SmartOS virtual machines directly from PuTTY without having to enter a password.