8

I want to set up an SSH tunnel to run as a Windows service, I need to be able to set it up using only the command line so this counts out any software that doesn't include a command line version.

What tools are available for Windows that I could use to do this?

Callum
  • 181
  • 1
  • 1
  • 3

5 Answers5

4

If your Windows system is running an SSH server, you can establish a reverse tunnel starting the connection from the other side.

There are several SSH servers available for Windows, for example copssh. On the other side you could use autossh for making sure that the tunnel gets re-established in case that the connection between client and server is lost.

In this way, instead of having to run an ssh client as a service on Windows, you'd need to run an ssh server like the one I mentioned.

mfriedman
  • 1,959
  • 1
  • 13
  • 14
4

Bitvise WinSSHD

I've used WinSSHD from Bitvise and had really good luck with it in the past.

Once of the nice things I like about it is when you have a server out of control and can't get into it via VNC because its pegged at 100% CPU or out of memory and thrashing the virtual memory you can always get in with SSH to issue a reboot command.

http://www.bitvise.com/download-area

I haven't installed it (fresh) in a while so I'm trying to remember if it supports straight command line or not. You'd have to take a look.

KPWINC
  • 11,274
  • 3
  • 36
  • 44
  • We have several servers that maintain SSH connections as a windows service. I use NSSM to configure the windows service. It works great. – Ronnie Overby Jun 29 '15 at 19:55
2

You could try PuTTY Tray

http://haanstra.eu/putty/

Not a windows service, but close enough. You can have it start a saved profile from the command line with

puttytray.exe -load "<profile name>"

If you login automatically with key-authentication, you can easily configure it to reconnect on disconnect and be visible only as tray icon.

rwired
  • 381
  • 2
  • 7
  • 18
  • So, what does one need to do other than add this line to the list of 'Run' commands on login? Where do you configure it to reconnect-on-disconnect and start up minimized-to-tray? – einpoklum Jun 18 '15 at 07:42
  • It's just a fork of the regular PuTTY with extra options available. e.g The Window|Behavior tab has an extra panel for "Adjust the icon" where you can set "Show tray icon: On start". The Connection tab has "Attempt to reconnect on connection failure" etc. – rwired Jun 18 '15 at 12:24
2

I have been using FreeSSHD for some time with much success. It can run as a service, supports certificate login, and full tunneling...

Dscoduc
  • 1,095
  • 2
  • 8
  • 15
2

I use cygwin's openssh package to do this with great success.

The openssh package includes an SSH server, sshd, that can easily be installed as a Windows service using the script ssh-host-config and then simply starting it using the Windows command net start sshd. Complete details are omitted simply for the sake of brevity...

Gina Trapani posted step-by-step instructions on Lifehacker now a few years old but, as far as I can tell from a quick scan, remain 100% applicable and accurate.

Danny Whitt
  • 121
  • 1
  • 4
  • 1
    How are you using `sshd` to have a tunnel up constantly? The page you linked to does not mention tunnels. – einpoklum Jun 18 '15 at 18:05