Administratorzy systemów Linux mieli przez pewien czas przewagę nad administratorami ze stajni Windows, posiadając w swoim arsenale serwer SSH, który pozwala na bezpieczne zdalne połączenia z powłoką systemu operacyjnego.
Na rynku jest dostępnych parę rozwiązań dla systemów MS Windows, które pozwalają na postawienie serwera SSH. Jedną z najciekawszych pozycji, szczególnie dla fanów PowerShell jest program PowerShell Server.
Jest to serwer, który jest doskonałym rozwiązaniem dla wszystkich potrzebujących bezpiecznego zarządzania z poziomu wiersza poleceń. Od niedawna produkt ten jest także dostępny w darmowej wersji (ograniczenie do jednego połączenia). Wszystkich zainteresowanych odsyłam do strony:
http://www.powershellinside.com/powershell/ssh/download.aspx
PowerShell Server jest w pełni funkcjonalnym serwerem SSH 2.0, do połączeń można wykorzystywać: PuTTY, OpenSSH, iPhone, Blackberry, maszyny z systemami Linux/Unix, jak też inne własne rozwiązania oparte na SSH.
Nowa wersja PowerShell Server V5, została wyposażona takie funkcje jak: uwierzytelnianie GSSAPI (NTLM i Kerberos), SCP do bezpiecznego transferu plików i to co wydaje się najbardziej interesujące to możliwość tworzenia tuneli SSH i SSH 2.0
Po zainstalowaniu serwera w katalogu WindowsPowerShell\Modules załadowane zostaną moduły dla PowerShell’a, które umożliwią korzystanie z konsoli PowerShell na zdalnym komputerze po połączeniu przez SSH. Dodatkowo w pliku MicrosoftPowerShell_profile.ps1 zostanie dodany wpis „Import-Module PowerShellServer”, który pozwoli na domyślne załadowanie modułów PowerShell Server przy każdej sesji konsoli PowerShell.
Dostępne funkcje:
1. Wsparcie dla SSH (Secure Shell) w wersji 2.0.
2. Możliwość ustawienia serwera jako usługi lub jako aplikacji użytkownika.
3. Bezpieczne zdalne połączenie z Windows PowerShell z wykorzystaniem dowolnego klienta SSH, w tym także z systemów: Linux/Unix, urządzeń mobilnych itp..
4. Wsparcie dla uwierzytelnienia GSSAPI (NTLM i Kerberos).
5. Silne szyfrowanie 3DES, sprawdzanie integralności, bezpieczna wymiana kluczy.
6. Możliwość korzystania z SCP.
7. Wsparcie dla tuneli SSH.
8. Nieograniczona ilość zdalnych połączeń (w zależności od licencji).
Wymagania systemowe:
Microsoft PowerShell w wersji 2.0 +
Microsoft. NET Framework 2.0 +
Jak widać na poniższym obrazku. PowerShell Server V5 można uruchomić także jako usługę w systemie MS Windows. Ze względu na to, że jest to wersja Personal liczba połączeń jest ograniczona do jednego.
Istnieje możliwość ustawienia własnego portu dla komunikacji i własnej wiadomości powitalnej. Opcjonalne funkcje dotyczą tuneli SSH i kopiowania plików za pomocą SCP.

Kolejna zakładka odpowiedzialna jest za obsługę certyfikatów, które można także samodzielnie tworzyć.
Poniżej przedstawione zostało okno pozwalające wybierać z pośród już istniejących certyfikatów, które zostaną wykorzystane do ustanawiania zdalnych połączeń.
Okno w którym można stworzyć własny certyfikat.
Zakładka zawierająca zaawansowane ustawienia dotyczące uwierzytelniania.
I ostatnia zakładka odpowiedzialna za logi.
Tak wygląda zdalne połączenie nawiązane za pomocą klienta PuTTY w systemie MS Windows XP.
Podsumowanie
Dzięki PowerShell Server poza dostępem do zdalnego terminala, otrzymuje się także dostęp do cmdletów PowerShell’a. Jest to ciekawa alternatywa dla WinRM, która może działać zarówno jako usługa systemowa lub jako aplikacja użytkownika.