首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >plink自动批处理脚本

plink自动批处理脚本
EN

Stack Overflow用户
提问于 2013-04-16 03:08:13
回答 1查看 3.9K关注 0票数 1

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

就像这样:

代码语言:javascript
复制
if "plink.exe" == "false" (
    "plink command to connect to SSH Server."
)

或者也许

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-16 16:50:43

这就是你要的。

代码语言:javascript
复制
@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服务器上具有根访问权限,您可以修改sshd_config,并让服务器每隔几分钟发送一次无操作数据包,以防止连接因不活动而超时。下面是我的sshd_config的一个示例片段

代码语言:javascript
复制
# noop anti-idle for 12 hours (10 minutes * 72)
ClientAliveInterval 600
ClientAliveCountMax 72

将其添加到您的sshd_config并重新启动ssh守护进程。这样你就不用在客户端做那么麻烦的事了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16028107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档