需要 sshd 服务器以 root 权限运行才能进行无密码登录吗?

需要 sshd 服务器以 root 权限运行才能进行无密码登录吗?

我是说:

如果 sshd 不是在 root 帐户中运行,那么它如何让远程 ssh 客户端在 root 帐户中运行 shell 或其他命令?

如果sshd调用login命令,则用户可以以root身份登录。因为用户提供了 root 密码,并且 UNIX 知道它。

但 sshd 也有无密码功能。也就是说它存储了 ssh 客户端的公钥。在这种情况下,ssh 客户端不会输入登录命令的密码。 UNIX系统如何让ssh客户端以ROOT用户身份运行shell?如果 sshd 不是 root 帐户。

原来的:

我的问题是 sshd 可以用来登录服务器而无需密码。

那么,需要以 root 权限运行吗?

如果不是,服务器如何允许客户端以 root 帐户运行?

答案1

之前有人问过服务器故障。稍加修改和注释的引用:

从您创建的新文件的/usr/sbin/sshd -f ~/.ssh/sshd_config位置开始该过程。~/.ssh/sshd_config在其他选项(例如不同的主机密钥、不同的端口等)中,您需要添加行UsePrivilegeSeparation no.这将阻止sshd进程尝试执行任何setuidsetgid调用,并允许其继续以您的用户身份运行并以您的用户身份接受连接。

另外不要忘记使用非特权端口(>1024)。

答案2

我相信您需要的是ssh-keygen,它会记住您的“设备签名”。因此,即使您更改了密码,只要您ssh使用同一设备,它仍然有效。

这里是如何设置的详细教程。

是否需要以root权限运行?

  • 不需要,您在设置时只需要主机服务器上的 root 权限,即可编辑 .home 目录下的某些文件root。设置完成后,您无需再输入root密码即可完成此操作。

相关内容