我有一个我正在玩的小树莓派。我让它运行无头,我需要在满足某些条件时将其中一个端口转发到远程服务器。
但是,我不希望连接无限期地停留,直到服务器关闭它。 有没有办法关闭SSH连接(从客户端,我没有root到服务器)经过一段时间?理想情况下我会直接这样做通过ssh命令,但我正在用Python 3编写,所以如果有一种方法可以用Python做到这一点,那么我全都听见了。
答案 0 :(得分:1)
在/ etc / ssh / sshd_config中:
ClientAliveInterval <time interval in seconds>
ClientAliveCountMax 0
因此,在第一个指令中使用300将在闲置5分钟后启动连接。您需要重新启动sshd才能使其生效。
答案 1 :(得分:0)
尝试ssh -o ServerAliveInterval = 10 server.org
答案 2 :(得分:0)
除非您使用&#34; -N&#34;运行ssh
选项,它通常在远程系统上启动某种命令或shell(在本例中为Pi)。当远程命令退出时,Ssh断开连接。
如果您正在运行ssh只是为了创建一些端口转发,您可能正在运行&#34; -N&#34;,或者您可能正在让ssh会话处于命令提示符处。相反,您可以在Pi上启动命令,该命令在所需的时间段后退出。您可以使用sleep
命令,例如:
ssh -Lwhatever -Rwhatever user@pi "sleep 3600"