无需密码的 ssh root 登录

问题描述 投票:0回答:1

我有一个 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

linux ssh sudo
1个回答
0
投票

如果我对这个问题的理解正确,您希望某些用户能够在不输入密码的情况下通过 ssh 进入您的服务器并成为 root 用户?

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

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

然后您的用户可以使用“ssh root@your_server.com”而不是“ssh ilian@your_server.com”

以 root 身份登录而无需密码

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

如果目录不存在,创建它但确保权限和所有权是正确的.. 它必须看起来像这样:

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

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

mkdir -m 700 /root/.ssh
© www.soinside.com 2019 - 2024. All rights reserved.