- 目的
AWS(EC2)のインスタンス間で、Powershellスクリプトをリモート実行させることが目的ですが、疎通確認として実行したEnter-PSSessionがエラーとなり、何が原因かわからず困っております。
- 動作環境
OS: Windows Server 2019 DataCenter
Powershell ($PSVersionTableの内容)
Name Value
PSVersion 5.1.17763.1852
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.17763.1852
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
- 各種設定
便宜上、リモート実行する側のインスタンスをA、リモート実行される側のインスタンスをBとして説明します。
■インスタンスA(リモート実行する側)
セキュリティグループ設定のインバウンドルールで以下のポートを許容
HTTP(TCP) 80
カスタムTCP 135,137-139,8080-8082
SSH (TCP) 22
RDP(TCP) 3389
SMB(TCP) 445
更に、上記ポートすべてをWindows Firewall の受信規則で受信可として設定。
Set-ExecutinPolicy RemoteSigned
Enable-PSRemoting
Set-Item WSMan:\localhost\Client\TrustedHosts *
■インスタンスB(リモート実行される側)
SSH (TCP) 22
RDP(TCP) 3389
SMB(TCP) 445
WinRM-HTTP(TCP) 5985
WinRM-HTTPS(TCP) 5986
更に、上記ポートすべてをWindows Firewall の受信規則で受信可として設定。
Set-ExecutinPolicy RemoteSigned
Enable-PSRemoting
0. Enter-PSSession で接続を確認(Administratorユーザで実施)
■インスタンスA
自ホスト指定で接続
Enter-PSSession -ComputerName localhost
→正常に接続
自ホストの自ユーザ指定で接続
Enter-PSSession -ComputerName localhost -Credential localhost\Administrator
→正常に接続
ホストBにAdministratorで接続(ホストBの部分は、実際にはパブリップIPアドレスを指定)
Enter-PSSession -ComputerName B -Credential B\Administrator
→エラー(メッセージは下記掲載)
Enter-PSSession : リモート サーバー への接続に失敗し、次のエラー メッセージが返されました: アクセスが拒否 されました。詳細については、about_Remote_Troubleshooting のヘルプ トピックを参照してください。
At line:1 char:1
- Enter-PSSession -ComputerName B -Credential B ...
-
+ CategoryInfo : InvalidArgument: (B:String) [Enter-PSSession], PSRemotingTransportException + FullyQualifiedErrorId : CreateRemoteRunspaceFailed **ホストBにAdministratorで接続(ホストBの部分は、実際にはプライベートIPアドレスを指定)**
→パブリックIPアドレス指定時と同様のエラー
自ホストの別ユーザ指定で接続
Enter-PSSession -ComputerName localhost -Credential localhost\XXXuser
→ホストB接続時と同様のエラー
※xxxuserは、ホストAのローカルに実際に存在するユーザです。
いずれの場合も、Enter-PSSession実行時に、パスワード入力ウィンドウが表示され、正しいパスワードを入力しております。
** 確認依頼事項 **
リモートセッションNGに加え、ローカルセッションでも別ユーザで接続できない状況です。
何か設定が足りないと思われ、アドバイス頂きたい次第です。
よろしくお願い致します。
あなたの回答
tips
プレビュー