Windows XP --> PuTTY SSH Tunnel --> Vine Server


I’ve recently downloaded/installed/configured Vine Server on my OSX 10.4 iMac (Intel) and want to connect to it via SSH from a Windows box. On the Windows box, I’ve configured PuTTY to create a tunnel from it to my Mac, and can log into a shell session successfully. Unfortunately, when I try to open a VNC Viewer session to (which should use the tunnel to get to my Mac), Viewer just seems to crash without an error.

Can anyone a) tell me what’s happening here, or b) tell me how to do this correctly?

Many thanks.


What you are doing all sounds correct. Fundamentally it should work just fine, we do it here all the time.

The only thing I can suggest is to make sure you are tunneling VNC into the right local port and that you aren’t running a local VNC server on the same port (for clarity I always set the local tunnel ports in the 595X range).

Is there something I need to do on the Mac end besides check the “Only allow connections over SSH” box in Vine Server? I.e. do I need to set up the tunnel on that end as well, or does the tunnel config on the Windows end make that happen? (5900:mymacIP:5900)

I tried to look in the manual, but the document (PDF) seems to be offline.



If you are checking the “Only allow local connections” box in Vine Server then you want to make sure that you specifing the tunnel with the actual loopback address (5900: any other address including the alias “localhost” will probably have the connection appear to be external and will be disallowed by the server.

As far as the Vine Server Manual, I’m accessing it just fine remotely. Are you going through a proxy server or anything?

It should be available here:

Ok I see the problem with the Documentation link on the website, it doesn’t explicitly add a %20 and instead has a space. I’ll get that corrected.

Thanks for the documentation link. I think the ones on your website are having troubles (at least they were earlier).

Let me be sure I understand and have all the steps lined up. Please correct anything you find out of line.

  1. Download Vine Server for OSX. Read the documentation and install. Run one instance per user that needs VNC access. Check “Only allow local connections (SSH)” option.

  2. Enable SSH service in OSX, opening port 22. No other configuration is necessary.

  3. On Windows machine, run PuTTY. Create a tunnel in PuTTY with a local port of 5900 to a remote server mymacIP:5900.

  4. Open the session with PuTTY and login to the remote machine (mymacIP).

  5. On Windows machine, run VNC Viewer. Specify localhost as the target. This should utilize the tunnel to get to the remote host on port 5900 over the SSH link previously established.

  6. Profit!!! (Oh, sorry, wrong forum)

Do I have all this correct?

Thanks again.


Step 3 needs to be very explicit…

   LocalPort:  (<-- or whatever port Vine Server is running on).

If you use the DNS address it won’t work with the “Only allow local connections”.

Keep in mind that when you say “Run one instance per user that needs VNC access” you’ll need to run each instance of Vine Server on a different port. Then you’ll need to connect to the correct port on that end of the tunnel for each connection. To get it working I suggest you start with just one instance, running on port 5900.

Is this working for you yet? If not, maybe the VNC viewer you are using doesn’t want to connect to the local machine for some reason…


Okay, so here’s a sample screenshot for PuTTY:

In this case, to my understanding, traffic to the local port 5901 is being forwarded to a remote machine, on port 5900, and they’re about to add a tunnel between local port 5902 and remote port 5901. In my situation, I set it up so that the local port and remote port were the same, since I’ve got one of the Vine Server instances listening on 5900.

You seeme to be indicating that there’s some extra configuration necessary on the Mac end. Or am I confused?


You are very close, but it’s not at the Mac end it’s within PuTTY. By specifying you are having the machine you are connecting to create a tunnel that goes “out” and then comes back to that machine, it could actually go to another machine as well. What that value needs to say is “” meaning forward those directly into this machines local IP stack (the machine you are SSHing to).

Now I get “Failed to connect to server!” On the upside, this is more than I was getting before.

I think now it’s just a matter of making sure all the ports are aligned.

If your tunnel looks like this:

Make sure that in VNC Viewer you are entering localhost:1 and that the Vine Server is running on port 5900.

If not, do a “View Log” from Vine Server and let us know what it’s reporting.

How do I view the log from the command line? I’m remote on the Windows box, and only have shell access to the Mac.

It’s working! Woohoo!

Thanks for all your help. Sorry it took so many iterations.

So, can I enable compression? If so, how? I’m running over a DSL connection, and it’s slow as molasses.


It’s already doing some “encoding” as part of the regular VNC traffic but we’ve had good luck also enabling SSH compression (it should be somewhere in PuTTY but I can’t quite recal).

Additionally we recommend connecting in hundreds of colors and possibly reducing the screen size as ways to improve performance.

I reduced the screen resolution from 1600x1200 to 1024x768, and that helped quite a bit. I can’t seem to set the color settings to anything other than “millions.” I’ll have to dig into the documentation to figure out why not. I also set the desktop background to a solid color instead of an image, which should help the compression algorithm significantly. That seemed to help quite a bit.

The overall speed is still slow, but it’s useable for basic tasks. I checked the box in PuTTY that says “Use Compression,” though I’m not sure it helped any. If it did, it wasn’t noticible. Maybe last night’s Apple Update, which modified SSH, will help.

Thanks again for all your help. Do you think modifying the encoding to one that compresses more than hexile will help?