如果超时并自动重新连接,我将如何创建一个简单的批处理脚本(窗口)以关闭当前的plink会话?

这样的事情:

if "plink.exe" == "false" (
    "plink command to connect to SSH Server."
)

或者可能

如果“plink.exe”==“false”(“批量打开新的plink实例”)

===============>>#1 票数:4 已采纳

干得好。

@echo off
setlocal
:: modify this line as appropriate
set plink_args=-P 22 -i c:\path\to\private.ppk user@host
set errors=0

:loop

:: if "find" exits with a non-zero status, plink.exe isn't running.
( tasklist /fi "IMAGENAME eq plink.exe" | find /i "plink.exe" >NUL && (
    set errors=0
) ) || (
    start "" plink.exe %plink_args%
    set /a "errors+=1"
)

if %errors% geq 5 (
    echo Unable to connect %errors% times in a row.  Stopping.
    goto :EOF
)

:: pause for 10 seconds (-n seconds + 1)
ping -n 11 0.0.0.0 >NUL
goto loop

您知道,如果您在ssh服务器上具有root访问权限,则可以修改sshd_config并让服务器每隔几分钟发送一次no-op数据包,以防止连接由于不活动而超时。 这是我的sshd_config的示例片段:

# noop anti-idle for 12 hours (10 minutes * 72)
ClientAliveInterval 600
ClientAliveCountMax 72

将其添加到sshd_config并重新启动ssh守护程序。 这可能会让你不必在客户端做一些如此hackish的事情。

  ask by Benjamin Jones translate from so

未解决问题?本站智能推荐: