我在现场有一个嵌入式设备,通过 USB 电池棒连接到互联网。为了能够访问它,我在端口 19996 上建立了一个到我家用 PC 的反向 ssh 隧道,以便能够访问它。
现在,我每 10 分钟(通过 cron)重新建立一次该隧道,以确保即使提供商决定更改我的 IP,我的访问也几乎不会中断。
现在我意识到我的进程列表已经满了
"4383 root ssh -R 19996:localhost:22 -f -N user@host"
并且 netstat 也加载了连接。我怎样才能确保这不会发生?我一次只需要打开一个隧道,而不是 100 个。
最佳答案
我编写了以下似乎工作正常的 shell 脚本!
#!/bin/sh
RETVAL=`netstat | grep 'S0106b0487afe2a57'| grep -c 'ssh ESTABLISHED'`
echo "${RETVAL} open tunnel(s)"
if [ "$RETVAL" -lt "1" ]
then
echo "starting reverse ssh tunnel"
`ssh -R 19999:localhost:22 -f -N user@host`
echo "done"
fi
关于linux - 反向 ssh 隧道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10839014/