permission denied for root@localhost for ssh connection
By default, the SSH server denies password-based login for root. In /etc/ssh/sshd_config
, if the following line exists, possibly commented out (with a #
in front):
PermitRootLogin without-password
Then change it to the following, uncommenting if needed (remove the #
in front):
PermitRootLogin yes
And restart SSH:
sudo service ssh restart
Or, you can use SSH keys. If you don't have one, create one using ssh-keygen
(stick to the default for the key, and skip the password if you feel like it). Then do sudo -s
(or whatever your preferred method of becoming root is), and add an SSH key to /root/.ssh/authorized_keys
:
cat /home/user/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
In some cases, after change,
PermitRootLogin yes
must check this config:
DenyUsers root
AllowUsers saeid
and to enable login must change to:
#DenyUsers root
AllowUsers root OtherUser