1

我有一个小树莓派正在玩。我让它无头运行,当满足某些条件时,我需要使它的一个端口转发到远程服务器。

但是,我不希望连接无限期地停留,直到服务器关闭它。 有没有办法在一段时间后关闭 SSH 连接(从客户端,我没有根到服务器) 理想情况下,我会直接通过 ssh 命令执行此操作,但我是在 Python 3 中编写的,所以如果有办法在 Python 中执行此操作,那么我会全力以赴。

4

3 回答 3

2

在您的 /etc/ssh/sshd_config 中:

ClientAliveInterval <time interval in seconds>
ClientAliveCountMax 0

因此,在第一个指令中使用 300 将在空闲 5 分钟后终止连接。您需要重新启动 sshd 才能使其生效。

于 2013-01-28T04:38:36.673 回答
0

除非您ssh使用“-N”选项运行,否则它通常会在远程系统(本例中为 Pi)上启动某种命令或 shell。此远程命令退出时 SSH 断开连接。

如果您运行 ssh 只是为了创建一些端口转发,您可能使用“-N”运行,或者您可能让 ssh 会话位于命令提示符下。相反,您可以在 Pi 上启动一个命令,该命令在所需时间后退出。您可以使用该sleep命令,例如:

ssh -Lwhatever -Rwhatever user@pi "sleep 3600"
于 2015-02-27T19:06:57.310 回答
0

尝试 ssh -o ServerAliveInterval=10 server.org

于 2013-06-06T06:12:07.233 回答