windows使用SSH隧道socks5代理自动运行尝试
场景
在《windows机器SSH隧道访问内网服务》随笔中通过XShell工具,建立SSH隧道提供Sock5代理服务,在使用过程中出现了一些问题,每次都需要手动打开代理,或者因为锁屏或网络问题会频繁断开,每天都要手动操作好多次。很是繁琐,于是想寻求一种自动运行的方式。经过多次尝试,终于使用putty软件中plink命令行完成了此项工作。
工具
- putty中的plink工具,用于自动完成连接和sock5代理
- nssm 制作windows服务,完成服务自动运行,失败自启
步骤
1. plink命令
此处仅列举几个用到的命令,详细命令请去官网查找
"C:\Program Files\PuTTY\plink.exe" -D 7000 用户名@SSH_IP -P SSH_PORT -pw PASSWORD
命令行参数-D: 动态转发端口,此处为7000
命令行参数-pw: SSH登录密码,自动运行的关键
命令行参数-P: 指定SSH端口
plink 命令和ssh命令相似
示例:
用户名:wangjing
密码:wangjing123
SSH_IP: 192.168.100.100
SSH_PORT:1300
动态转发的socks5端口:7000
"C:\Program Files\PuTTY\plink.exe" -D 7000 wangjing@192.168.100.100 -P 1300 -pw wangjing123
2. 制作批处理文件
新建proxy.bat,输入以下内容:
echo top|"C:\Program Files\PuTTY\plink.exe" -D 7000 wangjing@192.168.100.100 -P 1300 -pw wangjing123
注意 "echo top|" 管道输入是关键
命令行运行:
"C:\Program Files\PuTTY\plink.exe" -D 7000 wangjing@192.168.100.100 -P 1300 -pw wangjing123
会出现如下提示:
Access granted. Press Return to begin session.
需要手动输入才能完成连接,自动运行无法进行。
在加入 "echo top|" 管道输入,会完成自动连接,并在ssh命令行中运行top命令
3. 使用nssm创建windows服务
nssm 是一个命令行程序,仅介绍当前用到的命令
安装服务:
nssm install 服务名称
示例: nssm install proxy
删除服务
nssm remove 服务名称
示例:nssm remove proxy
- 安装服务
启动服务并设置失败自启
- 移除服务
总结
至此,基于SSH隧道的SOCK5代理的自动运行就完成了,结合代理软件(参考《windows机器SSH隧道访问内网服务》中Proxifier)可实现自动的代理,不用手动操作了。
本文来自博客园,作者:敬code,转载请注明原文链接:https://www.cnblogs.com/dacode/p/17958697