@@ -2543,34 +2543,39 @@ openssl x509 -req -in server.csr -text -days 365 \
2543
2543
First make sure that an <application>SSH</application> server is
2544
2544
running properly on the same machine as the
2545
2545
<productname>PostgreSQL</productname> server and that you can log in using
2546
- <command>ssh</command> as some user. Then you can establish a secure
2547
- tunnel with a command like this from the client machine:
2546
+ <command>ssh</command> as some user; you then can establish a
2547
+ secure tunnel to the remote server. A secure tunnel listens on a
2548
+ local port and forwards all traffic to a port on the remote machine.
2549
+ Traffic sent to the remote port can arrive on its
2550
+ <literal>localhost</literal> address, or different bind
2551
+ address if desired; it does not appear as coming from your
2552
+ local machine. This command creates a secure tunnel from the client
2553
+ machine to the remote machine <literal>foo.com</literal>:
2548
2554
<programlisting>
2549
2555
ssh -L 63333:localhost:5432 joe@foo.com
2550
2556
</programlisting>
2551
2557
The first number in the <option>-L</option> argument, 63333, is the
2552
- port number of your end of the tunnel; it can be any unused port.
2553
- (IANA reserves ports 49152 through 65535 for private use.) The
2554
- second number, 5432, is the remote end of the tunnel: the port
2555
- number your server is using. The name or IP address between the
2556
- port numbers is the host with the database server you are going to
2557
- connect to, as seen from the host you are logging in to, which
2558
- is <literal>foo.com</literal> in this example. In order to connect
2559
- to the database server using this tunnel, you connect to port 63333
2560
- on the local machine:
2558
+ local port number of the tunnel; it can be any unused port. (IANA
2559
+ reserves ports 49152 through 65535 for private use.) The name or IP
2560
+ address after this is the remote bind address you are connecting to,
2561
+ i.e., <literal>localhost</literal>, which is the default. The second
2562
+ number, 5432, is the remote end of the tunnel, e.g., the port number
2563
+ your database server is using. In order to connect to the database
2564
+ server using this tunnel, you connect to port 63333 on the local
2565
+ machine:
2561
2566
<programlisting>
2562
2567
psql -h localhost -p 63333 postgres
2563
2568
</programlisting>
2564
- To the database server it will then look as though you are really
2569
+ To the database server it will then look as though you are
2565
2570
user <literal>joe</literal> on host <literal>foo.com</literal>
2566
- connecting to <literal>localhost</literal> in that context , and it
2571
+ connecting to the <literal>localhost</literal> bind address , and it
2567
2572
will use whatever authentication procedure was configured for
2568
- connections from this user and host . Note that the server will not
2573
+ connections by that user to that bind address . Note that the server will not
2569
2574
think the connection is SSL-encrypted, since in fact it is not
2570
2575
encrypted between the
2571
2576
<application>SSH</application> server and the
2572
2577
<productname>PostgreSQL</productname> server. This should not pose any
2573
- extra security risk as long as they are on the same machine.
2578
+ extra security risk because they are on the same machine.
2574
2579
</para>
2575
2580
2576
2581
<para>
@@ -2582,12 +2587,12 @@ psql -h localhost -p 63333 postgres
2582
2587
</para>
2583
2588
2584
2589
<para>
2585
- You could also have set up the port forwarding as
2590
+ You could also have set up port forwarding as
2586
2591
<programlisting>
2587
2592
ssh -L 63333:foo.com:5432 joe@foo.com
2588
2593
</programlisting>
2589
2594
but then the database server will see the connection as coming in
2590
- on its <literal>foo.com</literal> interface , which is not opened by
2595
+ on its <literal>foo.com</literal> bind address , which is not opened by
2591
2596
the default setting <literal>listen_addresses =
2592
2597
'localhost'</literal>. This is usually not what you want.
2593
2598
</para>
0 commit comments