如何将 putty ssh 隧道作为 Windows 服务运行?

如何将 putty ssh 隧道作为 Windows 服务运行?

在 Windows XP 或更高版本中,我可能会运行 shell 命令

putty.exe -load ssh_tunnel

启动配置为 ssh 隧道的 ssh 会话。

我希望当我的计算机启动时 ssh 隧道会话可用,而无需登录任何用户会话。

将 shell 命令保留在 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.

它没有启动。

答案1

Windows 服务必须专门编写才能响应服务管理器的控制请求。您不能使用任何随机可执行文件binPath;您必须使用srvany或类似工具。

您还应该使用命令行plink而不是putty,因为后者可能无法作为服务正常工作。

最后,请注意,PuTTY 会话是按用户存储的,存储在您的 Windows 配置文件中。服务通常使用配置文件在特殊帐户下运行SYSTEM。您必须将服务更改为在您自己的帐户下运行,或者在 SYSTEM 配置文件中配置会话(psexec -dsi putty)。

相关内容