Azure 仮想マシンに 5985 を使用して PowerShell で接続
現状の、Azure の仮想マシン (Virtual Machine) ではデフォルトで PowerShell 用に TCP 5986 による、SSL を使用した PSRemoting による接続が可能となっています。
デフォルトでは、TCP 5985 を使用した SSL を使用しない接続ができないのでこれを Enable-PSRemoting を再実行しないで設定する方法を書いてみたいと思います。
SSL を使用した接続については Azureの仮想マシンへリモートでコマンドを投げる / PowerShellでリモート処理 がとても参考になります。
以下の情報も確認しておくとよいかと。
Configuring WINRM for HTTPS
Hyper-V ホストでの WinRM の構成」
How to create a winrm listener on a custom port
Ws-management では、Windows 7 と Windows サーバー 2008 R2 のセキュリティで保護されたポートの構成の詳細について
[WinRM/WinRS] 簡単リモート管理!WMI の代わりに使ってみませんか?
イベントサブスクリプションに関して
# イベントサブスクリプションも WinRM を使用しているので、似たような動作となります。
仮想マシンにはデフォルトでは非 SSL を使用したエンドポイントのポートは要されていませんので、TCP 5985 を使用したエンドポイントの設定を追加します。
また、Windows ファイアウォールの設定として、TCP 5985 の設定がデフォルトで行われていますが、パブリックプロファイルのスコープについてはローカルサブネットのみが許可されているので、これについてはどこからも接続ができるようにしておきます。
これでネットワーク的に仮想マシンに TCP 5985 で接続ができるような経路が設定できました。
あとは TCP 5985 のリスナーを作成します。
仮想マシンのデフォルトの状態では、TCP 5986 を使用した SSL のリスナーのみが作成されている状態となります。
winrm e winrm/config/listener または Get-Item WSMan:\localhost\Listener\* | fl *
仮想マシンにはデフォルトでパブリックな DNS 名の証明書がコンピューターアカウントの証明書として追加されており、その証明書を使用して SSL を使用したリスナーが作成されています。
それでは、以下のコマンドを実行して、SSL を使用しないポートを追加してみます。
# PowerShell で実行したかったのですがいまいちわからず、WinRM コマンドで実行してしまっています。
Winrm create winrm/config/listener?Address=*+Transport=HTTP
これで SSL を使用せずに接続するための設定が完了しました。
あとは接続元の環境の TrustedHosts の設定をして、仮想マシンに接続をします。
# TrsutedHosts の設定を取得 Get-Item WSMan:\localhost\Client\TrustedHosts # TrustedHosts を設定 Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force # TrustedHosts の設定をクリア # Clear-Item WSMan:\localhost\Client\TrustedHosts $cred = Get-Credential Enter-PSSession -ComputerName KinmugiPSTest.cloudapp.net -Credential $cred
この辺のポイントはオンプレミスで接続をする場合のチェックポイントと同じですね。
コメントを残す