Windows下使用bat实现端口映射进程守护

安装 plink.exe

前往官网 Download PuTTY 选择 Windows 版本的安装包,然后安装,安装完成后配置系统环境变量。
在这里插入图片描述

bat 实现端口映射进程守护

新建 PortGuard.bat 文件,输入下述内容。

@echo off
:: 配置SSH相关信息
:: 设置 SSH 的用户名和主机地址
set SSH_HOST=exampleUser@exampleHost
:: 设置 SSH 端口
set SSH_PORT=22
:: 设置本地端口,用于端口转发
set LOCAL_PORT=8080
:: 设置远程端口,用于端口转发
set REMOTE_PORT=80
:: 设置 SSH 密码,这里使用一个示例密码,实际使用时应该替换为正确的密码
set PASSWORD="YourSecurePassword123"  :: 替换为实际密码

:: 提示信息
echo Starting SSH port forwarding...
echo Host: %SSH_HOST%
echo SSH Port: %SSH_PORT%
echo Local Port: %LOCAL_PORT%
echo Remote Port: %REMOTE_PORT%

:: 使用 plink.exe 进行连接,自动输入密码
:start
    :: 使用 plink.exe 进行连接,自动输入密码
    echo | D:\PuTTY\plink.exe -P %SSH_PORT% -L %LOCAL_PORT%:localhost:%REMOTE_PORT% -N %SSH_HOST% -pw %PASSWORD%
    :: 检查端口映射是否可访问
    curl -s --head http://127.0.0.1:%LOCAL_PORT% | find "200 OK" >nul
    if %errorlevel% neq 0 (
        echo Port %LOCAL_PORT% is not accessible. Reconnecting...
        taskkill /F /IM plink.exe
        goto start
    ) else (
        echo Port %LOCAL_PORT% Running...
    )
:: 暂停以查看执行结果
pause

SSH_HOST 变量被设置为 exampleUser@exampleHost,其中 exampleUser 是示例用户名,exampleHost 是示例主机地址。

  • SSH_PORT 变量被设置为 22,这是 SSH 的默认端口。
  • LOCAL_PORT 变量被设置为 8080,这是一个示例本地端口号。
  • REMOTE_PORT 变量被设置为 80,这是一个示例远程端口号,常用于 HTTP 服务。
  • PASSWORD 变量被设置为 YourSecurePassword123,这是一个示例密码,你应该在实际使用时替换为一个安全的密码。

该脚本运行后会出现一个 dos 窗口,若觉得碍眼可以用记事本将下面保存为扩展名为 .vbs 的文件。其中 PortGuard.bat 是上面批处理保存的文件名。

set ws=WScript.CreateObject("WScript.Shell")
ws.Run "PortGuard.bat",0

两个文件放在同一目录下双击 PortGuard.vbs 文件后,守护进程就在后台运行了,单这样得通过资源管理器结束 cmd 进程才能停止守护进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伪_装

您的支持,是我持续创作的光

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值