A PostgreSQL server on host db01 listens only on 127.0.0.1 port 5432. From your workstation you want to reach it by connecting to port 15432 on your own machine, tunnelled over SSH. Which command sets that up?
LPIC-1 Exam 102-500, objective 110. Security hard
Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.
Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.
How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.
The options
Not correct ssh -R 15432:localhost:5432 db01
Wrong direction. -R is remote forwarding: it opens a listening port on db01 that is forwarded back to your workstation. You would be publishing a local service to the server, not reaching the server's service.
Not correct ssh -D 15432 db01
Wrong. -D creates a dynamic SOCKS proxy on port 15432. It is useful for a browser, but the client application must speak SOCKS and no fixed destination is bound, so a plain psql connection to localhost:15432 fails.
Not correct ssh -X db01
Wrong. -X enables X11 forwarding so graphical applications started on db01 can display on your workstation. It forwards no TCP port of your choosing.
Correct ssh -L 15432:localhost:5432 db01
Correct. -L is local forwarding: ssh listens on port 15432 on your workstation and forwards each connection through the tunnel, where db01 opens it to localhost:5432 — the loopback address as seen from db01.
Why
The -L argument reads [bind_address:]port:host:hostport, and the crucial subtlety is that host:hostport is resolved by the far end of the connection, which is why localhost here means db01's own loopback interface. By default the local listener binds only to 127.0.0.1; GatewayPorts and an explicit bind address are needed to expose it to other machines. -R is the mirror image, listening on the remote side, and -D is a SOCKS proxy rather than a point-to-point forward.
Where this comes from
- Cited
- LPI exam objective 110.3
- What it says
- Tunnel a TCP connection through SSH using port forwarding.
Practise this
Reading one question is not practice. The trainer will draw a short set from objective 110 and space the ones you get wrong.
More questions on this objective
- During an audit you must list every file under /usr that has the set-user-ID bit set, regardless of what its other permission bits are. Which command does that? machine-checked
- You locked the password of the account `intern` and confirmed that its hash in /etc/shadow now begins with an exclamation mark. The intern nevertheless still reaches a shell on the host over SSH, without being prompted for anything. What is going on, and what actually stops it? machine-checked
- You have just been added to a sudo rule on a host and want sudo itself to report which commands you are allowed to run there, without running any of them. Type the complete command. machine-checked
- A daemon started from your bash session keeps hitting a 'too many open files' error. Which command raises the limit on open file descriptors for the current shell and the processes it starts to 4096? machine-checked
- You are about to take a server down for maintenance and want ordinary users refused at login for the next hour, with an explanatory message, while root can still get in. On a system using PAM's pam_nologin, creating which file achieves this? machine-checked
- Which two commands report the users who are logged in right now, rather than a history of past logins? (Choose two.) machine-checked