Use SSH host verification and keys, stage server configuration safely, and test a second session before closing known-good access.
What you will be able to do
- Explain the five core decisions involved in configure ssh client and server basics.
- Choose the narrow Linux command or method that matches a stated operational need.
- Interpret command output as evidence before deciding whether to change system state.
- Apply an observe, act, verify, and recover workflow to a realistic Linux task.
01
Build the Operating Model
Use SSH host verification and keys, stage server configuration safely, and test a second session before closing known-good access.
Reliable Linux work separates observation, decision, action, and verification. That order keeps a command from becoming a guess and makes each result useful for the next decision.
Begin in a disposable lab or a recoverable environment. Record the active user, working directory, target, and baseline output before any command that can change system state.
02
SSH endpoint
An SSH client connects to a specific host, port, and user identity to request an encrypted remote session. This distinction helps identify the smallest relevant part of the system before a change is attempted.
State the user and host explicitly, confirm the expected port, and keep a known-good local session during changes. Keep the command, target, and visible result together so another person can reproduce the reasoning.
The safety boundary is clear: a correct host with wrong user changes authorization. You should be able to verify this result: client targets the intended remote account.
03
Host key trust
SSH host keys let the client detect whether the remote server identity matches a previously trusted key. This distinction helps identify the smallest relevant part of the system before a change is attempted.
Verify a new fingerprint through a separate trusted channel before accepting it into known hosts. Keep the command, target, and visible result together so another person can reproduce the reasoning.
The safety boundary is clear: unexpected key changes require investigation. You should be able to verify this result: remote server identity is deliberately trusted.
04
User key pair
Public-key authentication uses a private key kept by the client and a corresponding public key authorized by the server. This distinction helps identify the smallest relevant part of the system before a change is attempted.
Generate a modern key pair, protect the private key, and install only the public key for the target account. Keep the command, target, and visible result together so another person can reproduce the reasoning.
The safety boundary is clear: do not copy the private key to the server. You should be able to verify this result: server can verify possession of the private key.
05
Server configuration
The SSH daemon reads server policy that controls listening, authentication, and other connection behavior. This distinction helps identify the smallest relevant part of the system before a change is attempted.
Back up the configuration, change one policy, validate syntax, and reload only after the check succeeds. Keep the command, target, and visible result together so another person can reproduce the reasoning.
The safety boundary is clear: a bad configuration can block remote administration. You should be able to verify this result: validated policy is ready for controlled activation.
06
Safe access test
A remote-access change is not complete until a new session succeeds under the intended authentication policy. This distinction helps identify the smallest relevant part of the system before a change is attempted.
Keep the original session open, start a second connection, verify identity, and only then close old access. Keep the command, target, and visible result together so another person can reproduce the reasoning.
The safety boundary is clear: do not close the sole working session early. You should be able to verify this result: new policy works without losing recovery access.
07
Apply One Controlled Change
Start from the read-only commands that reveal identity, scope, and current state. Write the expected result before entering a modifying command, including which files, processes, accounts, or connections may be affected.
Make one narrow change and stop. If the output reports an error or an unexpected target, preserve that evidence and return to inspection instead of adding unrelated commands.
Repeat the original observation after the action. A successful command status is useful, but the real completion signal is the intended state plus the absence of an unintended side effect.
08
Complete the Evidence Loop
A good terminal record answers four questions: what was observed, why one action was selected, exactly what changed, and how the result was verified. A screenshot without command context answers fewer questions than saved text output.
Test both the expected success and one safe failure condition. This confirms that the procedure recognizes a wrong path, missing permission, invalid input, stopped service, or unavailable endpoint instead of silently continuing.
Finish by restoring the lab baseline when the task was experimental. For an operational change, record the final state and the reversal step so later work begins from a known boundary.
09
Recap Before Practice and Prove
The first decision concerns ssh endpoint. State the user and host explicitly, confirm the expected port, and keep a known-good local session during changes.
The second decision concerns host key trust. Verify a new fingerprint through a separate trusted channel before accepting it into known hosts.
The third decision concerns user key pair. Generate a modern key pair, protect the private key, and install only the public key for the target account.
The fourth decision concerns server configuration. Back up the configuration, change one policy, validate syntax, and reload only after the check succeeds.
The final decision concerns safe access test. Keep the original session open, start a second connection, verify identity, and only then close old access. Keep the final output as the baseline for the next task.