Can't change root password, passwd doesn't do anything

17,407

By default in Ubuntu the /etc/ssh/sshd_config file of the openssh-server has the following line:

PermitRootLogin without-password

this prevents to login into the ssh-server as root using password which is for security reasons, you can use key based authentication (and any other not using password) mechanism to login as root directly.

So you have two options:

  • First the bad option, avoid this one. Make the line of /etc/ssh/sshd_config as:

      PermitRootLogin password
    
  • The good option is to login as another user who has access to the server, then switch to the root account by:

      su - root  ## Will need root's password.
    

or

    sudo su -  ## Will need calling user's password. The calling user needs to be able to use sudo.
Share:
17,407

Related videos on Youtube

abear
Author by

abear

Updated on September 18, 2022

Comments

  • abear
    abear over 1 year

    I just got a dedicated server with ubuntu 14.04 on it. I haven't received root details in my server info email, but instead for a different user. So I wanted root access and tried to change the password.

    I tried:

    sudo -i
    passwd
    

    and

    sudo passwd root
    

    And I entered my new root password, but when I try to login as root I still get denied access.

    If anybody can help me it would be greatly appreciated. Thanks.

    • Arronical
      Arronical over 8 years
      Do you get any error messages when you run sudo passwd root?
    • heemayl
      heemayl over 8 years
      Check the output of sudo getent shadow root | cut -d: -f2 ..does it start with $ or something else like ! ....DON'T POST THE OUTPUT HERE..
    • abear
      abear over 8 years
      @Arronical No I don't get any errors, it just asks me to enter the new password twice
    • steeldriver
      steeldriver over 8 years
      It's probably because you are trying to log in as root via ssh using the password, and that is disabled for security reasons - just don't do it. Either stick to sudo or - if you really must log in directly as root - set up key-based authentication.
    • abear
      abear over 8 years
      @heemayl Yeah it starts with a $, what do I do to fix that?
    • abear
      abear over 8 years
      @heemayl logging in with SSH via PuTTY
  • Arronical
    Arronical over 8 years
    Good advice, I always edit the PermitRootLogin line to no to be extra safe!
  • Tomas Aschan
    Tomas Aschan about 7 years
    I wanted to do this just temporarily, in order to change a different account. However, PermitRootLogin password is invalid configuration - the correct way would be PermitRootLogin yes (which is the default, so just commenting out the line entirely works too). See askubuntu.com/a/449372/18112