Windows XP以上では、シェルコマンドを実行できます
PuTTY.exe -load ssh_tunnel
sshトンネリングとして設定されたsshセッションを開始します。
コンピュータがユーザーセッションにログオンせずに起動したときに、トンネルセッションを利用できるようにしたい。
Windowsサービスでシェルコマンドを保持することが唯一の解決策のようです。サービスを作成してみます:
c:\> sc create ssh_tunnel binpath="c:\PuTTY.exe -load ssh_tunnel
[SC] CreateService SUCCESS
サービスが正常に作成されました。サービスを開始するとき:
C:\>sc start ssh_tunnel
[SC] StartService FAILED 1053:
The service did not respond to the start or control request in a timely fashion.
始まらない。
Windowsサービスは、ServiceManagerの制御要求に応答するように特別に作成する必要があります。ランダムな実行可能ファイルをbinPath
として使用することはできません。 srvany
または同様のツールを使用する必要があります。
plink
の代わりにコマンドラインPuTTY
も使用する必要があります。後者は、サービスとして正しく機能しない可能性があるためです。
最後に、PuTTYセッションはユーザーごとであり、Windowsプロファイルに保存されていることに注意してください。サービスは通常、SYSTEM
プロファイルを使用して特別なアカウントで実行されます。自分のアカウントで実行するようにサービスを変更する必要がありますまたはSYSTEMプロファイルでもセッションを構成します(psexec -dsi PuTTY
)。