There are two parts to getting this to work, so I'll address them seperately.
Connecting to your Server:
As you've mentioned that all you can talk to is a proxy on 443 and 80, you'll need to tunnel your SSH connection out through the proxy. You do that by telling Putty to use the proxy server to connect. Under the 'proxy' menu. Select HTTP and then enter the details for the corporate proxy.
From your post, it seems like you've got the connection working fine.
Configure Putty to Create a SOCKS proxy on the local machine
Both putty and OpenSSH support opening a SOCKS proxy. For OpenSSH you'd use:
ssh -D <port>
And then point your browser at that port. In putty you create a 'dynamic' port forward. You'll find it under the Tunnels menu. Enter your desired listening port and then enter anything you like as a destination (it gets ignored for dynamic forwards). You can then point your browsers proxy settings at that localhost:<port> and it should work.
For more information, the relevant part of the putty documentation is at http://tartarus.org/~simon/putty-snapshots/htmldoc/Chapter3.html#using-port-forwarding.
As others have posted you may not want to circumvent the corporate filtering though as it's not something you may want to explain :).
At rwired's request, I'm reposting my previous comment as an answer, which was:
Can the remote Linux server establish outbound connections to TCP port 80? For instance, if you "telnet www.google.com 80" from the server, do you get "Connection established"? Or does it just hang?
The intended implication was that something is blocking the outbound connection, which rwired discovered was indeed the case.
Best Answer
Okay... This is very possible with Putty though not as easy as with OpenSSH on a Linux machine. I would very much recommend setting up an SSH identity key and installing it on the boxes that you are connecting to and use the Putty Agent (pagent.exe) key forwarding agent. That said here is the steps to take.
First, create a Putty connection profile for your work Linux box that you can reach from home. You'll want to be sure under
Connection -> Data
that you set yourAuto-login username
. Then underConnection -> SSH -> Auth
be sure thatAllow agent forwarding
is checked. Now save this profile and make note of the name you call it (ie- work-jumpbox).With this setup you now want to setup a second profile for the box behind the work jumpbox. Set this profile up with the correct host name/IP address and port of the webserver in the office. You then want to go to
Connection -> Data -> Proxy
and set theProxy Type
tolocal
and set theTelnet command or local-proxy-command
toplink -load work-jumpbox -nc %host:%port\n
(replace work-jumpbox with whatever you called your previous profile for the work linux box.Now save this profile (ie- work-webserver) and when you want to connect to it load it and click connected it should log you into the office web server after it logs into the jumpbox silently.