我用一个带有非标准端口号的配置文件启动了一个新的 SSH 守护进程。现在,如果我以 sudo 身份启动 SSHD,我可以通过 SSH 连接到主机上,但如果我以不同的系统帐户身份启动,守护进程将启动,但连接失败。 SSHD 是否总是需要以 root 身份启动?
我确保 SSHD 正在运行,它只是不接受连接。
最佳答案
运行sshd
不实用作为非根。 sshd
需求root
特权
- 密码认证(只有
root
才能访问/etc/shadow
) - 绑定(bind)到低于 1024 的端口
- 调用
setuid()
为了获得已连接用户的权限
如果您使用非特权端口和仅基于 key 的身份验证,您可能能够使其工作,但您将被限制与正在运行的用户连接 sshd
.
关于linux - SSH 服务器以不接受连接的系统帐户启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23505471/