VMRC a existující SSL certifikát
Při práci s virtuálním strojem spuštěným nad Virtual Serverem 2005 se vždy najde okamžik, kdy není možné používat výhradně RDP, ale je nutný konzolový přístup. K tomu slouží VMRC. VS2005 má velmi podivně implementovanou podporu SSL certifikátů a tak drtivá většina uživatelů skončí u self-signed certifikátu a trpělivě odklepává hlášky o jeho nedůvěryhodnosti. Existuje ovšem způsob, jak zabezpečit SSL pro VMRC s použitím již existujícího certifikátu.
Postup:
- mít certifikát v PFX souboru, znát jeho heslo k privátním klíči
- MMC, Add/Remove Snap-in, Certificates, Service Account, Local Machine, Virtual Server Service
- naimportovat do Personal\Certificates uvedený PFX soubor
- otevřít si (v IIS nebo v IE) Properties certifikátu, na záložce Details najít Thumbprint, ten si zkopírovat do notepadu
- v notepadu odstranit ze zkopírovaného thumbprintu všechny mezery (tj. bude tam jenom změť znaků)
- stopnout službu Virtual Server
- otevřít v notepadu c:\Documents And Settings\All Users\Application Data\Microsoft\Virtual Server\Options.xml
- najít část settings/remote_control/vmrc/encryption a nahradit ji následovně (případně odmazat celou entitu)
<encryption>
<enable type="boolean">false</enable>
</encryption>
a nahradit
<encryption>
<certificate>
<id type="bytes">%cert thumbprint%</id>
</certificate>
<enable type="boolean">true</enable>
</encryption>
kde %cert thumbprint% je ta upravená změť znaků z notepadu z bodu 5 - stáhnout si utilitu winhttpcertcfg a přidat právo účtu NETWORK SERVICE, aby mohl číst privátní klíč z certifikátu, který jsme naimportovali v kroku 3 winhttpcertcfg -g -c LOCAL_MACHINE\My -s %certsubject% -a "NETWORK SERVICE"
kde %certsubject% je jméno certifikátu, třeba www.dolezel.net - uložit XML soubor, nastartovat Virtual Server. Otestovat funkčnost připojením VMRC klienta (měl by řvát míň hlášek o SSL) a zobrazením v admin stránkách Virtual Serveru
- pokud by přetrvávaly trable s připojením VMRC klienta, tak odkontrolovat ještě tohle
Go to the %ALLUSERSPROFILE%\Application Data\Microsoft\Crypto\RSA\MachineKeys directory, here you'll will find the file containing the certificate (and its the private key) we had previously imported in the Virtual Server service certificate store (I chosen it by last modified date).
Assign the "Full Control" to the NETWORK SERVICE account.