当我这样做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