我应该sudo作为根或使用公钥

我已经阅读了几次,以root身份使用另一个用户来禁用rootlogin和sudo。

但是,如果不是更好的安全性,是使用公钥吗?

您应该绝对禁止远程login身份的能力,并且如果可能的话, 只允许使用公钥/私钥对(而不是密码)进行login身份validation。

通过这个看看如何加强SSH的最佳实践(虽然这是作为CentOS文档提供的,但它主要适用于您将sshd作为您的ssh守护进程运行的任何发行版)。

您应该禁用远程主机的rootlogin,但从localhost启用。

这里是我的openssh服务器configuration文件的大部分重要的行:

PermitRootLogin yes#因为AllowUsers

PasswordAuthentication no#连接只允许使用密钥

AllowUsers用户root @ localhost

当以简单用户身份连接到服务器时,仍然可以使用-A连接到根用户:

本地$ ssh user @ server -A

服务器$ ssh root @ localhost