- A
Set ansible_ssh_private_key_file in the inventory but omit the passphrase
Why wrong: The key file may still require the agent.
- B
Set ansible_user to the correct username in the inventory
Why wrong: ansible_user only sets the username, not the key.
- C
Run ssh-add on the control node to add the private key to the SSH agent
The SSH agent must have the key loaded for authentication.
- D
Enable keyboard-interactive authentication on the IOS devices
Why wrong: Keyboard-interactive is not about SSH keys.
Quick Answer
The answer is to run ssh-add on the control node to load the private key into the SSH agent. This resolves the Ansible SSH permission denied publickey error because Ansible, by default, relies on the SSH agent to present the correct private key to the remote Cisco IOS device; if the key is not loaded into the agent, the SSH handshake fails with a publickey rejection, even if the key file exists on disk. On the ENCOR 350-401 exam, this scenario tests your understanding of how Ansible automates network device configuration and the common pitfall of assuming key files are automatically available—the trap is that simply specifying the private key path in the inventory or ansible.cfg does not bypass the need for an active agent session. A reliable memory tip is "Agent first, Ansible next": always ensure your SSH agent has the key loaded before running any playbook against IOS devices.
350-401 Automation Practice Question
This 350-401 practice question tests your understanding of automation. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A network team uses Ansible to automate VLAN configuration on Cisco IOS devices. The playbook fails with the error 'Failed to connect to the host via ssh: Permission denied (publickey)'. The control node runs Ubuntu, and the network devices are configured with SSH key authentication. Which solution should the engineer implement?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
Run ssh-add on the control node to add the private key to the SSH agent
The error 'Permission denied (publickey)' indicates that the SSH key is not being presented to the IOS device. Running ssh-add on the control node loads the private key into the SSH agent, which Ansible uses by default when connecting via SSH. This resolves the authentication failure without requiring a passphrase or changing the inventory.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Set ansible_ssh_private_key_file in the inventory but omit the passphrase
Why it's wrong here
The key file may still require the agent.
- ✗
Set ansible_user to the correct username in the inventory
Why it's wrong here
ansible_user only sets the username, not the key.
- ✓
Run ssh-add on the control node to add the private key to the SSH agent
Why this is correct
The SSH agent must have the key loaded for authentication.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Enable keyboard-interactive authentication on the IOS devices
Why it's wrong here
Keyboard-interactive is not about SSH keys.
Common exam traps
Common exam trap: answer the scenario, not the keyword
Cisco often tests the misconception that setting inventory variables like ansible_ssh_private_key_file or ansible_user alone fixes SSH key issues, when the real problem is that the key is not loaded into the SSH agent on the control node.
Detailed technical explanation
How to think about this question
Ansible uses paramiko or OpenSSH under the hood; when the SSH agent is not running or the key is not added, the SSH client cannot negotiate publickey authentication even if the key exists on disk. The ssh-add command loads the private key into the ssh-agent process, which then automatically provides the key during the SSH handshake, allowing Ansible to authenticate without manual passphrase entry or inventory modifications.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A help-desk technician troubleshoots why a newly connected PC cannot reach shared printers on the same floor. The cable is good, the switch port is active, but the PC is in VLAN 20 and the printers are in VLAN 10. The uplink trunk only allows VLAN 10. A trunk being up does not mean every VLAN crosses it.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Automation — study guide chapter
Learn the concepts, then practise the questions
- →
Automation practice questions
Targeted practice on this topic area only
- →
All 350-401 questions
2,015 questions across all exam domains
- →
ENCOR 350-401 study guide
Full concept coverage aligned to exam objectives
- →
350-401 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related 350-401 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Architecture practice questions
Practise 350-401 questions linked to Architecture.
Enterprise Network Design practice questions
Practise 350-401 questions linked to Enterprise Network Design.
SD-Access Architecture practice questions
Practise 350-401 questions linked to SD-Access Architecture.
SD-WAN Architecture practice questions
Practise 350-401 questions linked to SD-WAN Architecture.
QoS Architecture practice questions
Practise 350-401 questions linked to QoS Architecture.
Virtualization practice questions
Practise 350-401 questions linked to Virtualization.
Network Function Virtualization practice questions
Practise 350-401 questions linked to Network Function Virtualization.
Virtual Machines and Hypervisors practice questions
Practise 350-401 questions linked to Virtual Machines and Hypervisors.
VRF and Path Isolation practice questions
Practise 350-401 questions linked to VRF and Path Isolation.
Infrastructure practice questions
Practise 350-401 questions linked to Infrastructure.
OSPF practice questions
Practise 350-401 questions linked to OSPF.
BGP practice questions
Practise 350-401 questions linked to BGP.
Practice this exam
Start a free 350-401 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this 350-401 question test?
Automation — This question tests Automation — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Run ssh-add on the control node to add the private key to the SSH agent — The error 'Permission denied (publickey)' indicates that the SSH key is not being presented to the IOS device. Running ssh-add on the control node loads the private key into the SSH agent, which Ansible uses by default when connecting via SSH. This resolves the authentication failure without requiring a passphrase or changing the inventory.
What should I do if I get this 350-401 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Keep practising
More 350-401 practice questions
- Drag and drop the steps to configure an extended access control list (ACL) on a Cisco router in the correct order.
- Drag and drop the steps to configure a site-to-site IPsec VPN on a Cisco router in the correct order.
- Drag and drop the steps to configure VLAN Trunking Protocol (VTP) on a Cisco switch in the correct order.
- Drag and drop the steps to configure a static route on a Cisco IOS router into the correct order.
- Drag and drop the steps to configure port security on a Cisco switch in the correct order.
- Drag and drop the steps for the Spanning Tree Protocol (STP) convergence process in the correct order.
Last reviewed: Jun 11, 2026
This 350-401 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 350-401 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.