使用ssh无密码Root登录



我有一个linux服务器和一个包含经过身份验证的用户的ssh密钥的列表。现在,在连接到ssh之后,用户必须使用sudo -i以root身份登录,以便执行他们的操作。只有少数人可以访问ssh,所以在我的情况下不需要这个root密码,他们应该能够以root身份登录,而不需要输入任何密码。

我所做的是我添加以下行到我的sshd_config:

PermitRootLogin without-password

我还检查了sudoers文件,其中有这一行:

# User privilege specification
root    ALL=(ALL:ALL) ALL
some_user ALL=(ALL:ALL) NOPASSWD:ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

some_user列出他们访问ssh时的登录用户。

这没有任何作用。所以我重新启动了服务,重新启动了整个系统(sudo reboot),但没有任何帮助,它仍然要求用户每次执行sudo -i密码

如果我正确理解了这个问题,您希望一些用户能够ssh到您的服务器并成为根用户而无需键入密码吗?

如果这就是你想要的,你根本不需要sudo。

相反,将他们的ssh公钥添加到根用户的authorized_keys文件(通常是/root/.ssh/authorized_keys)

然后你的用户可以以root身份登录而无需密码,使用"sshroot@your_server.com"而不是"sshilian@your_server.com">

(是的,您还需要您提到的/etc/ssh/sshd_config项- PermitRootLogin without-password)。

如果目录不存在,创建它,但要确保权限和所有权正确。它必须是这样的:

drwx------ 2 root root 4096 Mar 31  2022 /root/.ssh/

这可以通过执行(作为root)来实现:

mkdir -m 700 /root/.ssh

最新更新