Question

Root Access With SSH - PermitRootLogin or PasswordAuthentication

Hi,

I just did a one click install of MongoDB. I’m SSH into the machine and its all ok.

Now, I want to disable password to the machine to prevent brute force, however two different articles are stating two different things to achieve this:

Is it:

PasswordAuthentication no 

OR

PermitRootLogin without-password

The later, I can’t actually see this in my /etc/ssh/sshd_config file.

Also by doing this I presume if I access the console via the Digital Ocean page, I can still use the password to login?

If not, then what would happen the certs on my machine went missing?

Thanks.


Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

@Woet

From a security standpoint, disabling root login and creating a sudo user is recommended – it’s what many would refer to as a best practice. Please don’t say it’s not important as that’s a misconception. When a sudo user is perfectly capable of handling root level commands and, unlike root, is not a well known and highly targeted user, there’s no excuse to allow root logins.

@psmod2

When it comes to security and preventing potential attacks, it’s best to simply create a sudo user and disable root login. The root user is well-known and will be the first one targeted by an attacker. When it comes to automated attacks, when root login is disabled, the login attempts will simply fail.

If you want to take things one step further, I would recommend that your sudo user not be a common user that is given ownership over any specific directories or files. When it comes to ownership of web-facing files and directories, you should create a user that has standard limited permissions.

@psmod2

Setting PasswordAuthentication to no enforces the use of SSH Keys for user accounts instead of plain-text passwords.

Disabling password authentication is far more secure and a much better option, though it does mean that you will have to keep up with your SSH Keys locally, otherwise you won’t be able to log in.

https://www.freebsd.org/cgi/man.cgi?sshd_config(5)

Console in DigitalOcean is unaffected since it doesn’t use SSH.

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.

New accounts only. By submitting your email you agree to our Privacy Policy

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.