
私は、VMWare Workstation に複数の仮想マシンを展開した、優れた 8 コアの Windows 7 マシンを持っています。"vmrun -T ws H:\VMWare\VM1\VM1.vmx nogui" などを実行して、仮想マシンをリモートで起動できるようにしたいと考えています。ホストには常に同じユーザーがログインしていると想定できます。
コマンドはローカルでは問題なく実行されますが、リモートで実行しようとすると問題が発生します。
cygwin の ssh でそれを行うのは不可能です。なぜなら、何らかの理由で vmrun がローカル スクリーンにアクセスする必要があるためです。これは、Windows サービスとして実行されている cygwin の ssh では不可能です。この問題を回避するために、ユーザーのログイン時に起動するアプリケーションと、IPC によって最初のアプリケーションにコマンドを送信するリモート ユーザーによって呼び出されるアプリケーションのペアを作成する必要があることはわかっています。誰かがすでにそのようなアプリケーションを作成しているので、車輪の再発明に時間を無駄にする必要はないと強く感じています。
Windows の資格情報に依存する他の通信方法は十分に安全ではないと思うので、レインボー テーブルで簡単にスニッフィングおよび復号化できる psexec などのツールは使用しないようにしています (RADIUS サーバーを持っていません)。それとも、私が間違っていて、それらは実際に安全なのでしょうか?
答え1
私はいつも、Cygwin を使用してssh
3389 にポート転送することで、まさにこれを行っています。その後、ワークステーションに RDP 接続し (SSH トンネル経由なので、Windows 資格情報に関する懸念は解消されるはずです)、VM ワークステーションを起動して、必要な VM を操作して、終了します。
答え2
コマンドをリモートで簡単に実行できますPsExec
もちろん、これが機能するには Windows 認証メカニズムに依存します。
答え3
ついに、自分に最適な解決策を見つけました。
ポイントはしないsshd を Windows サービスとして実行しますが、ユーザーの個人用スタートアップから実行します (隠しウィンドウとして実行することもできます)。これですべてです。ここでの唯一のコツは、これを昇格したプロセスとして実行する必要があることです。
C:\cygwin
Windows 7 で cygwin sshd を対話的に起動するには、次の手順に従う必要があります。(cygwin が にインストールされており、パッケージが含まれていると想定していますopenssh
)。
sshd
管理ツール\サービスアプレットでサービスを「手動起動」または「無効」に設定しますC:\cygwin\var\empty
フォルダの所有権を取得する/usr/bin/sshd -D
(オプション - デバッグ用)管理者特権の cygwin プロンプトで実行する場合は、ホストへの ssh アクセスが可能であることを確認してください。C:\cygwin\bin\run -p C:\cygwin\bin /usr/sbin/sshd -D
(オプション - デバッグ用) 管理者特権のコマンド プロンプトから起動したときに、ポイント 3 と同じアクセス権が付与されることを確認しますsshd.exe
。その後、タスク マネージャーを使用してプロセスを終了することを忘れないでください。- ログイン直後に昇格された資格情報でこのコマンドを起動する新しいタスクを作成します。このフォーラムスレッドでやり方を確認してください
- リモート ホストから ssh を使用してログインし、
vmrun -T ws start ...
ローカルで実行するのと同じようにコマンドを実行すると、すべてが期待どおりに動作します。
管理タスクを実行するために SSH 認証を使い続けることを好む方々のお役に立てれば幸いです。
このソリューションが機能するには、ユーザーが実際にホストにログインする必要があることに注意してください (対話的に行うのが最善であると考えています (つまり、rdp 経由ではない) が、この理論はテストしていません)。したがって、このソリューションはホーム/小規模オフィス ネットワークに最適です。また、"自動ログオン" を設定しない限り、専用サーバーには適していない可能性があります (ただし、自動ログオンには独自のセキュリティ問題があり、$ADMIN 共有を無効にする利点を簡単に相殺する可能性があります)。