Upgrade & Secure Your Future with DevOps, SRE, DevSecOps, MLOps!

We spend hours on Instagram and YouTube and waste money on coffee and fast food, but won’t spend 30 minutes a day learning skills to boost our careers.
Master in DevOps, SRE, DevSecOps & MLOps!

Learn from Guru Rajesh Kumar and double your salary in just one year.



Get Started Now!

How to Fix “unable to start ssh-agent service, error: 1058” and “‘eval’ is not recognized” on Windows

Github

How to Fix “unable to start ssh-agent service, error: 1058” and “‘eval’ is not recognized” on Windows

When working with SSH keys on Windows, you may encounter two common errors:

  • “unable to start ssh-agent service, error: 1058”
  • “‘eval’ is not recognized as the name of a cmdlet, function, script file, or operable program”

This article explains why these errors occur and provides a clear, step-by-step solution to get your SSH keys working on Windows.

What Causes These Errors?

  • Error 1058: This means the SSH agent service (OpenSSH Authentication Agent) is installed but disabled or not running on your system.
  • ‘eval’ is not recognized: The eval command is a Unix/Linux shell command, not available in Windows PowerShell or Command Prompt.

Solution: Step-by-Step Guide

1. Enable and Start the SSH Agent Service

The SSH agent must be running to manage your SSH keys. Here’s how to enable it:

  • Press Windows + R, type services.msc, and press Enter.
  • Scroll to OpenSSH Authentication Agent.
  • Right-click and select Properties.
  • Set Startup type to Manual or Automatic (Manual is often recommended for security)
  • Click Start to run the service.
  • Click OK to save and close.

Alternatively, you can do this via PowerShell (as Administrator):

powershellGet-Service ssh-agent | Set-Service -StartupType Manual
Start-Service ssh-agent

This ensures the agent is enabled and running

2. Add Your SSH Keys Using PowerShell

With the agent running, add your SSH keys:

powershellssh-add C:\Users\YourUsername\.ssh\id_rsa

Replace id_rsa with your actual key file name if different.

3. Verify Loaded SSH Keys

Check that your keys are loaded:

powershellssh-add -l

This lists the fingerprints of all loaded keys.

4. Why ‘eval’ Doesn’t Work on Windows

  • The eval "$(ssh-agent -s)" command is for Unix shells like Bash, not PowerShell or Command Prompt26.
  • On Windows, you do not need eval. Just ensure the agent service is running and use ssh-add as shown above.

If you need to evaluate a string as a command in PowerShell, use Invoke-Expression, but for SSH agent management, this is unnecessary

Summary Table

TaskAction
Enable SSH AgentSet “OpenSSH Authentication Agent” to Manual/Automatic and Start it
Add SSH key (personal)ssh-add C:\Users\YourUsername\.ssh\id_rsa_personal
Add SSH key (work)ssh-add C:\Users\YourUsername\.ssh\id_rsa_work
List loaded keysssh-add -l

Key Takeaways

  • Do not use eval on Windows; it’s a Unix command not available in PowerShell or CMD.
  • Enable and start the OpenSSH Authentication Agent via Services or PowerShell.
  • Use ssh-add to manage your SSH keys once the agent is running.

By following these steps, you will resolve both the “unable to start ssh-agent service, error: 1058” and “‘eval’ is not recognized” errors, enabling smooth SSH key management on Windows.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x