Windows の cmd コマンドをリモートで実行できるソリューションを探しています。Windows に組み込まれている PSTools スイートの PSExec は知っていますが、私の理解では、これはコンピューターが同じ LAN 上にあり、外部にない場合に使用するように作られています (ルーターでポート転送しない限り)。ポート転送はオプションではありません。
フォーラムで読んだのですが、潜在的な解決策として、両方のマシンが接続する中間にサーバーを導入し、コマンドを中継するトンネルとして機能するというものがありました。ここでの目標は、RDP のようなこの種の設定を使用することです。ただし、GUI 部分は必要なく、リモート マシンを管理して、開いているアプリケーションや実行時間などを確認します。たとえば、多数の Windows マシンのシステム管理者は、LAN の外部からリモートでどのように管理するのでしょうか。
ご提案やヒントを事前にいただければ幸いです。
答え1
私は、Windows に組み込まれている PSTools スイートの PSExec を知っていますが、私の理解では、これはコンピューターが同じ LAN 上にあり、外部にない場合に使用するように作られています (ルーターでポート転送しない限り)。ポート転送はオプションではありません。
いいえ、それだけでは「LAN」ツールにはなりません。
宛先がNATの背後にある場合、受信接続にポート転送が必要になるのは当然です。SSH、HTTP、およびそれ以外のほとんどすべてのプロトコルにまったく同じことが当てはまります。日常的にインターネット上で使用されます。
多くのリモート アクセス ツールは、PSExec、SSH、VNC、RDP、PS-Remoting、Telnet など、クライアントが直接サーバーに接続するという同じパターンに従います。これらのツールの一部はインターネットで毎日使用されていますが、ポート転送を構成できない場合は、これらでも苦労することになります。
(PSExecがLAN指向である理由は、WindowsのSMBとMS-RPCサービスを使用しているからです。安全でないインターネットに公開する - 「Blaster」と「EternalBlue」を覚えていますか?
フォーラムで読んだのですが、潜在的な解決策として、両方のマシンが接続する中間にサーバーを導入し、コマンドを中継するトンネルとして機能するというものがありました。ここでの目標は、RDP のようなこの種の設定を使用することです。ただし、GUI 部分は必要なく、リモート マシンを管理して、開いているアプリケーションや実行時間などを確認します。たとえば、多数の Windows マシンのシステム管理者は、LAN の外部からリモートでどのように管理するのでしょうか。
ほとんどの場合、答えは何らかの VPN です。
たとえば、すべてのデバイスが社内 LAN 内にあるが、自宅で作業している場合、どこからでもアクセスできる VPN サーバー (パブリック IP アドレス、または少なくともポート転送を使用) を社内ネットワークがホストするのが一般的です。接続すると、システム管理者はローカルであるかのように LAN 全体にアクセスでき、PSExec/RDP/SSH やその他の一般的な管理ツールを使用できるようになります。
逆の状況でも同じことが言えます。デバイスが分散していて、システム管理者が管理していないNATの背後に配置されている場合、それらのデバイスがVPNを使用して接続することは同様に可能です。戻るそれらの「ベース」に接続され、システム管理者と同じ LAN にいるかのようにアクセスできるようになります。
VPNは本質的に一方向ではありません。トンネルが確立されると、サーバー側からクライアントへの接続だけでなく、クライアントからサーバーへの接続、さらにはクライアント間の接続も完全に実行できます。したがって、VPNサーバーをセットアップできると仮定すると、どこか(クラウド/VPS ホストでも可)、デバイスをその中央サーバーに自動的に接続するようにすれば、NAT とポート転送の問題を完全に回避できます。
とはいえ、さまざまなVPN製品汎用 (サイト間リンクに適している) からクライアント指向まで、さまざまなものがあります。デバイス管理には、自動接続 (理想的には証明書ベースの資格情報) をサポートし、デフォルトでスプリット トンネル モードで動作するものが必要です。デバイス用と従業員/システム管理者用に、まったく異なる 2 つの VPN 製品を使用することになる場合もあります。
(デバイスがWindowsコンピュータの場合は、OpenVPNまたは多分WireGuard が私の一番の選択肢ですが、この目的で ZeroTier と Tinc も使用したことがあります。