Received: from antares.mcs.anl.gov (mcs.anl.gov [140.221.9.6]) by hub.org (8.9.3/8.9.3) with SMTP id WAA37146 for ; Tue, 7 Sep 1999 22:39:22 -0400 (EDT) (envelope-from selkovjr@xnet.com) Received: from xnet.com (selkovjr@[204.248.57.204]) by antares.mcs.anl.gov (8.6.10/8.6.10) with ESMTP id VAA00320 for ; Tue, 7 Sep 1999 21:39:21 -0500 Message-Id: <199909080239.VAA00320@antares.mcs.anl.gov> To: PostgreSQL Interfaces From: "Gene Selkov, Jr." Subject: Re: [INTERFACES] documentation for ssh tunnelling of connections? Date: Tue, 07 Sep 1999 21:39:07 -0400 Sender: selkovjr@xnet.com Eric Marsden wrote: > Can anyone point me to some documentation describing how to set up ssh > to tunnell TCP/IP connections to a backend? My searches have found several > people saying it is possible, but no step-by-step explanation I could > point people to. Eric, It's the documentation for SSH that you are looking for. Please refer to http://www.heimhardt.de/htdocs/ssh.html for better insight. A step-by-step explanation can be done in just two steps: 1. Establish a tunnel to the backend machine, like this: ssh -L 3333:wit.mcs.anl.gov:5432 postgres@wit.mcs.anl.gov The first number in the -L argument, 3333, is the port number of your end of the tunnel. The second number, 5432, is the remote end of the tunnel -- the port number your backend is using. The name or the address in between the port numbers belongs to the server machine, as does the last argument to ssh that also includes the optional user name. Without the user name, ssh will try the name you are currently logged on as on the client machine. You can use any user name the server machine will accept, not necessarily those related to postgres. 2. Now that you have a running ssh session, you can connect a postgres client to your local host at the port number you specified in step 1. If it's psql, you will need another shell because the shell session you used in step 1 is now occupied with ssh. psql -h localhost -p 3333 -d mpw Note that you have to specify the -h argument to cause your client to use the TCP socket instead of the Unix socket. You can omit the port argument if you chose 5432 as your end of the tunnel. --Gene