You still have ~/.ssh/id_rsa but the matching id_rsa.pub was deleted by accident, and you need the public key text to add to a new server's authorized_keys. Which command reconstructs it?
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
Correct ssh-keygen -y -f ~/.ssh/id_rsa
Correct. -y reads a private key file, prompting for its passphrase if it has one, and prints the corresponding public key in the one-line authorized_keys format on standard output.
Not correct ssh-keygen -l -f ~/.ssh/id_rsa
Wrong. -l prints the fingerprint and key size. A fingerprint is a hash and cannot be turned back into the key, so it is useless for authorized_keys.
Not correct ssh-keygen -p -f ~/.ssh/id_rsa
Wrong. -p changes the passphrase protecting an existing private key. The key pair itself is unchanged and nothing is printed.
Not correct ssh-keygen -t rsa -f ~/.ssh/id_rsa
Wrong, and destructive. This generates a brand new pair at that path, so after overwriting you would have a key that no server yet trusts, and the old one would be gone.
Why
The public key is derived from the private key, so it can always be recomputed while the private half survives; the reverse is impossible. Redirect the output, as in ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub, to restore the file that ssh-copy-id and other tools expect. A private key written in the current OpenSSH format carries the comment, so -y reproduces it; a key still stored in the old PEM format does not, and the regenerated line then comes back without one, which -C can restore.
Where this comes from
- Cited
- manual page ssh-keygen(1)
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