直接运行 sshd 时,ssh 服务器在第一次成功连接结束后停止运行

直接运行 sshd 时,ssh 服务器在第一次成功连接结束后停止运行

当我这样做sudo /usr/sbin/sshd -ddd -p2222然后连接到新创建的 SSH 服务器时,sshd 在第一个连接结束后停止运行。

我的意思是,我知道那样sudo service sshd start可能会更好,但是,有办法吗sudo /usr/sbin/sshd

我在跑OpenSSH_8.9p1 Ubuntu-3ubuntu0.3, OpenSSL 3.0.2 15 Mar 2022

答案1

这正是-d所做的。

-d
调试模式。服务器将详细的调试输出发送到标准错误,而不会将自己置于后台。服务器也fork(2)不会仅处理一个连接。此选项仅用于服务器调试。多个-d选项可增加调试级别。 最大为 3。

(来源:man 8 sshd(强调我的)

有没有什么办法可以让它sudo /usr/sbin/sshd工作呢?

它确实有效,但它会将自己变为恶魔。即使-d它确实有效如所述。如果您要sshd处理多个连接,请不要使用-d。如果您希望它不成为守护进程,请使用-D。如果您需要调试信息,请使用LogLevel。如果你想在终端中看到此信息,请使用-e

sudo /usr/sbin/sshd -p 2222 -D -o LogLevel=DEBUG3 -e

相关内容