如何通过 ssh 连接附加到 systemd 服务

如何通过 ssh 连接附加到 systemd 服务

我想像在普通终端上一样附加和控制 systemd 服务,这是因为我作为服务运行的进程有一个输入控制台,我希望能够访问它。我看到其他解决方案使用 systemd 配置将进程的 stdin/stdout 重定向到 tty,然后使用 conspy 或 reptyr 等工具附加,但这些解决方案无法通过 SSH 连接运行。我有什么办法可以做到这一点吗?

答案1

如果你这样做,man systemctl你会发现这个选项:

-H, --host=
           Execute the operation remotely. Specify a hostname, or a username and
           hostname separated by "@", to connect to. The hostname may optionally
           be suffixed by a container name, separated by ":", which connects
           directly to a specific container on the specified host. This will use
           SSH to talk to the remote machine manager instance. Container names
           may be enumerated with machinectl -H HOST.

这将允许您在本地计算机上对远程计算机上的服务执行任何操作(允许您以具有提升权限的用户身份执行此操作)。

相关内容