我有一个简单的 Docker 容器,用于有目的 sshd
的服务器,其图像源自alpine:latest
. 它目前/usr/sbin/sshd -D -e -ddd
用作其入口点。当我ssh
进入它以远程运行某个命令时,该命令可以正常执行,但随后sshd
容器立即关闭。
在其他地方session optional pam_loginuid.so
,在启用/etc/pam.d/sshd
. 这听起来很有希望,但 Alpine 的sshd
(来自apk add openssh
)显然没有 PAM,而且我不确定这将如何发挥作用。
有人可以告诉我如何sshd
使基于 Alpine 的容器在许多 SSH 会话中持续存在以支持正常操作吗?
更新sshd
这是关闭之前的日志输出的最后几行:
Received disconnect from 1.2.3.4 port 29213:11: disconnected by user
Disconnected from user rts 1.2.3.4 port 29213
debug1: do_cleanup
debug3: mm_request_receive entering
debug1: do_cleanup
由于 -d 标志,您会看到这种行为。从 sshd 的手册页:
-d ' 调试模式。服务器将详细的调试输出发送到系统日志,并且不会将自己置于后台。服务器也不会分叉,只会处理一个连接。此选项仅用于调试服务器。多个 -d 选项可提高调试级别。最大值为 3。