Bird
Raised Fist0
Linux CLIscripting~10 mins

Key-based authentication in Linux CLI - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to generate a new SSH key pair.

Linux CLI
ssh-keygen -t [1] -f ~/.ssh/id_rsa
Drag options to blanks, or click blank then click option'
Aed25519
Brsa
Cecdsa
Ddsa
Attempts:
3 left
💡 Hint
Common Mistakes
Using dsa which is outdated and less secure.
Using rsa without specifying key size.
2fill in blank
medium

Complete the command to copy your public key to the remote server for passwordless login.

Linux CLI
ssh-copy-id -i ~/.ssh/id_rsa.pub [1]@remote_host
Drag options to blanks, or click blank then click option'
Aroot
Bguest
Cadmin
Duser
Attempts:
3 left
💡 Hint
Common Mistakes
Using root without permission.
Using guest which may not have SSH access.
3fill in blank
hard

Fix the error in the SSH config file to specify the private key file.

Linux CLI
Host remote
  HostName example.com
  User user
  IdentityFile [1]
Drag options to blanks, or click blank then click option'
A~/.ssh/id_rsa
B~/.ssh/config
C~/.ssh/authorized_keys
D~/.ssh/id_rsa.pub
Attempts:
3 left
💡 Hint
Common Mistakes
Using the public key file instead of the private key.
Using unrelated files like config.
4fill in blank
hard

Fill both blanks to create a directory and set correct permissions for SSH keys.

Linux CLI
mkdir -p ~/.ssh && chmod [1] ~/.ssh && chmod [2] ~/.ssh/id_rsa
Drag options to blanks, or click blank then click option'
A700
B600
C755
D644
Attempts:
3 left
💡 Hint
Common Mistakes
Setting 755 on private keys, making them world-readable.
Setting 644 on the .ssh directory.
5fill in blank
hard

Fill all three blanks to create an SSH config entry for a server with a custom port and identity file.

Linux CLI
Host myserver
  HostName [1]
  Port [2]
  IdentityFile [3]
Drag options to blanks, or click blank then click option'
A192.168.1.100
B2222
C~/.ssh/my_custom_key
Dexample.com
Attempts:
3 left
💡 Hint
Common Mistakes
Using the public key file for IdentityFile.
Using default port 22 when a custom port is required.

Practice

(1/5)
1. What is the main purpose of key-based authentication in SSH?
easy
A. To encrypt files on the local computer
B. To allow secure login without typing a password every time
C. To speed up the internet connection
D. To create a backup of the server data

Solution

  1. Step 1: Understand key-based authentication

    Key-based authentication uses a pair of keys to allow login without passwords.
  2. Step 2: Identify the main benefit

    This method lets users connect securely without typing passwords each time.
  3. Final Answer:

    To allow secure login without typing a password every time -> Option B
  4. Quick Check:

    Key-based authentication = passwordless secure login [OK]
Hint: Key-based auth means no password typing needed [OK]
Common Mistakes:
  • Confusing key-based auth with file encryption
  • Thinking it speeds up internet
  • Believing it backs up data
2. Which command correctly generates a new SSH key pair?
easy
A. ssh-keygen
B. ssh-copy-id
C. ssh-add
D. ssh-connect

Solution

  1. Step 1: Identify the key generation command

    The command ssh-keygen creates a new SSH key pair.
  2. Step 2: Differentiate from other commands

    ssh-copy-id copies keys, ssh-add adds keys to agent, ssh-connect is invalid.
  3. Final Answer:

    ssh-keygen -> Option A
  4. Quick Check:

    Generate keys = ssh-keygen [OK]
Hint: ssh-keygen always creates keys [OK]
Common Mistakes:
  • Using ssh-copy-id to generate keys
  • Confusing ssh-add with key creation
  • Typing a non-existent ssh-connect command
3. What will happen if you run ssh-copy-id user@server after generating your SSH keys?
medium
A. The SSH service on the server restarts
B. Your private key is copied to the server
C. The server's keys are copied to your local machine
D. Your public key is copied to the server for passwordless login

Solution

  1. Step 1: Understand ssh-copy-id purpose

    This command copies your public key to the server's authorized keys file.
  2. Step 2: Identify what is copied

    Only the public key is copied, enabling passwordless login; private keys stay local.
  3. Final Answer:

    Your public key is copied to the server for passwordless login -> Option D
  4. Quick Check:

    ssh-copy-id copies public key to server [OK]
Hint: ssh-copy-id copies public key, not private [OK]
Common Mistakes:
  • Thinking private key is copied
  • Believing server keys copy locally
  • Assuming ssh-copy-id restarts SSH
4. You tried to connect with SSH key authentication but still get a password prompt. Which is the most likely cause?
medium
A. The public key was not copied to the server
B. The private key file is missing on the server
C. The SSH server is turned off
D. The username is incorrect

Solution

  1. Step 1: Check key placement

    If the public key is not on the server, SSH cannot authenticate without a password.
  2. Step 2: Understand private key location

    The private key stays on the client, so missing it on the server is irrelevant.
  3. Final Answer:

    The public key was not copied to the server -> Option A
  4. Quick Check:

    Missing public key on server = password prompt [OK]
Hint: Public key must be on server for key login [OK]
Common Mistakes:
  • Looking for private key on server
  • Assuming SSH server off causes password prompt
  • Blaming wrong username without checking keys
5. You want to automate SSH login to multiple servers without passwords. Which sequence of commands is correct?
hard
A. ssh user@server -> ssh-copy-id user@server -> ssh-keygen
B. ssh-copy-id user@server -> ssh-keygen -> ssh user@server
C. ssh-keygen -> ssh-copy-id user@server -> ssh user@server
D. ssh user@server -> ssh-keygen -> ssh-copy-id user@server

Solution

  1. Step 1: Generate SSH keys first

    Use ssh-keygen to create your key pair locally.
  2. Step 2: Copy public key to server

    Use ssh-copy-id user@server to add your public key to the server.
  3. Step 3: Connect without password

    Now ssh user@server logs in using the key without asking for a password.
  4. Final Answer:

    ssh-keygen -> ssh-copy-id user@server -> ssh user@server -> Option C
  5. Quick Check:

    Generate keys, copy key, then connect [OK]
Hint: Generate keys first, then copy, then connect [OK]
Common Mistakes:
  • Copying keys before generating them
  • Trying to connect before copying keys
  • Mixing command order
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard