If you encounter the following error on Windows:
Permission denied (publickey). fatal: Could not read from remote repository.
But at the same time, the command ssh -vT [email protected]
gives you this message:
Hi USER_NAME! You've successfully authenticated, but GitHub does not provide shell access.
- Add to your environment variables:
GIT_SSH_COMMAND="C:/Windows/System32/OpenSSH/ssh.exe"
. Ensure there's no space after the equal sign. Also, verify that the path is correct for your OS. - Alternatively, change the Git configuration by running:
git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe
- Don't forget to start the SSH agent service:
Get-Service -Name ssh-agent | Set-Service -StartupType Manual Start-Service ssh-agent
You can set the StartupType to Automatic if you want it to run when Windows starts.
A restart might be necessary, but in many cases, simply re-opening the terminal is sufficient.
Note: Git for Windows includes an embedded SSH client, which it might use by default. Switching to the Windows System32 SSH client can resolve certain authentication issues.
Thank you so much, I literally wasted 2-3 hours!