How to recover from "Too many Authentication Failures for user root"
Solution 1:
"Too many Authentication Failures for user root" means that Your SSH server's MaxAuthTries limit was exceeded. It happens so that Your client is trying to authenticate with all possible keys stored in /home/USER/.ssh/ .
This situation can be solved by these ways:
- ssh -i /path/to/id_rsa root@host
- Specify Host/IdentityFile pair in /home/USER/.ssh/config .
Host host
IdentityFile /home/USER/.ssh/id_rsa
Host host2
IdentityFile /home/USER/.ssh/id_rsa2
- Increase MaxAuthTries value on the SSH server in /etc/ssh/sshd_config (not recommended).
Solution 2:
If you get the following SSH Error:
$ Received disconnect from host: 2: Too many authentication failures for root
This could happen if you have (default on my system) five or more DSA/RSA identity files stored in your .ssh
directory. In this case if the -i
option isn't specified at the command line the ssh client will first attempt to login using each identity (private key) and next prompt for password authentication. However, sshd drops the connection after five bad login attempts (again default may vary).
So if you have a number of private keys in your .ssh directory you could disable Public Key Authentication
at the command line using the -o
optional argument.
For example:
$ ssh -o PubkeyAuthentication=no root@host
Solution 3:
On the remote machine open /etc/sshd_config and change value
MaxAuthTries 30
This is typical problem when You have installed multiple keys or open multiple connections. Server checking step by step each key and if MaxAuthTries is setup on 3 then after first 3`rd tries will disconnect You. Typical ssh security.
I suggest You to use verbose mode during connection to remote machine to analyze problem.
ssh -v -p port_number user@servername
Guessing like most poeple on this forum do is WRONG and its wasting of time. First try to analyze problem, collect informations and then ask.
Have fun.
Solution 4:
For me this problem was solved by creating the below ssh_config for the host I was connecting to.
(~/.ssh/config)
Host example
HostName example.com
User admin
IdentityFile ~/path/to/ssh_key_rsa
IdentitiesOnly=yes
The problem occurred because I have way too many ssh keys in my ~/.ssh
folder, like 16 or so. And without both of those IdentityFile
AND IdentitiesOnly
directives in the config, my machine was apparently trying all of the keys in ~/.ssh
and reaching the max number of attempts before attempting the correct IdentityFile.
Solution 5:
This is bad practice. Just have a regular user on the remote box and connect through ssh using it, then gain root access using su/sudo.