之前的折腾过Windows下ssh的自动登录,比如这篇Windows下使用Xshell建立反向隧道,但是这个不能无交互的情况下自动连接(比如在连接新主机时),也就很难在服务中使用。解决方法还是得使用命令行版本。

OpenSSH其实是有Windows版本的,并且目前还在维护:https://github.com/PowerShell/Win32-OpenSSH。至于AutoSSH,还是得借助Cygwin。但是Cygwin的程序加上cygwin1.dll后是可以直接在Windows下运行的,所以不需要安装Cygwin附件的压缩包里也有ssh、AutoSSH以及所需的dll,可直接使用。可执行文件是32位的,但是Win10 64位实测可以使用。

AutoSSH的使用方法网上很多,这里需要注意的一点是,需要在使用时要指明ssh的路径,否则他只会在默认路径(/usr/bin/ssh)下寻找。Cygwin下访问Windows的文件需要借助/cygdriver,但是在没有完整的Cygwin环境下使用这个路径会有啥效果我也不知道。(我应该是试过的,但是忘了……)。把ssh.exe和autossh.exe放在同一个目录下,然后在命令行窗口下指定以下环境变量可解决这个问题:

set AUTOSSH_PATH=./ssh.exe

然后就可以正常使用AutoSSH了。另外,实测AutoSSH在一些情况下还是会自动退出,所以还是需要使用一个死循环来一直执行。目前把这些工作写在了一个bat文件里:

@echo off

:: 在这里更改你的设置
:: setting
set HOST="username@host.com"
set KEY_FILE="id_rsa_private"
set REMOTE_PORT=8180
set MONITOR_PORT=8280
set LOCAL_PORT=23 echo *** :LOOP echo [%HOST%] [%date% %time%] Autossh running...
set AUTOSSH_PATH=./ssh.exe
set AUTOSSH_LOGLEVEL=7
set "AUTOSSH_DEBUG="
autossh.exe -M %MONITOR_PORT% %HOST% ^
-i %KEY_FILE% -R 0.0.0.0:%REMOTE_PORT%:127.0.0.1:%LOCAL_PORT% -N ^
-o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "PasswordAuthentication=no" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" timeout 60 > NUL
goto LOOP echo [%HOST%] [%date% %time%] exited

需要建立反向隧道的时候,运行这个批处理就好。有需要的话,可以把这个批处理作为服务启动。把一个可执行的文件转为服务的软件我推荐这个:NSSM - the Non-Sucking Service Manager

附件:autossh-cygwin.rar

Windows下使用AutoSSH,并作为服务自启动(不用安装Cygwin)的更多相关文章

  1. windows下制作linux U盘启动盘或者安装优盘(转)

    windows下制作linux U盘启动盘或者安装优盘(转) Linux发行版排行榜:http://iso.linuxquestions.org/ [方案一]:UltraISO(不推荐,在Window ...

  2. Windows下Nginx+Web.py+FastCGI服务搭建

    在搭建之前,有必要了解下什么是fastcgi,但鉴于我自己也不大了解,这里就不搬门弄斧了,请参考各种百科和官网资料. 1.资源下载 python下载地址:戳这里webpy下载地址:戳这里flup下载地 ...

  3. Windows 下配置 Logstash 为后台服务

    到目前为止,logstash 没有给出官方的,在 windows 系统中作为后台服务运行的方式.本文将介绍如何使用第三方工具 nssm 让 logstash 作为后台服务运行在 windows 中.说 ...

  4. Windows下快速启动/关闭orcl服务

    大家都知道windows下绝大部分都是图形操作化,很少用命令来执行,例如启动.关闭orcl数据库服务时,一般情况都是在任务管理器(taskmgr.ctrl+shift+esc)或服务(services ...

  5. Python科学计算(二)windows下开发环境搭建(当用pip安装出现Unable to find vcvarsall.bat)

    用于科学计算Python语言真的是amazing! 方法一:直接安装集成好的软件 刚开始使用numpy.scipy这些模块的时候,图个方便直接使用了一个叫做Enthought的软件.Enthought ...

  6. windows下ipython的tab补全,只需安装pyreadline即可.

    运行ipython提示缺失模块 在windows下安装readline失败. 根据提示访问 https://urllib3.readthedocs.org/en/latest/security.htm ...

  7. windows下数据挖掘相关包numpy、pandas的安装

    安装Anaconda的绕道 这里介绍如何在windows下安装numpy/scipy/matplotlib/pandas/scikit_learn等数据分析相关包 相关环境: win7 64位 pyt ...

  8. 在windows下如何新建爬虫虚拟环境和进行scrapy安装

    Scrapy是Python开发的一个快速.高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改.Sc ...

  9. Windows服务器下,Tomcat制作成服务自启动,跑不起来,报内存溢出。

    测试过不行 使用服务启动后,tomcat运行时会抛出各种内存溢出错误,于是我第一时间想到的是去修改catalina.bat文件中的内存设置,但是然并卵,于是我又尝试不用服务,去使用startup.ba ...

随机推荐

  1. SignalR入门之小试身手

    建立好持久性连接类TestConnection之后,现在为我们的SignalR程序配置持久性连接类以及访问路径. 进入刚刚建立的Startup类,进入Configuration这个方法里来配置: us ...

  2. MySQL MHA配置常见问题

    MHA在MySQL数据库中被广泛使用,它小巧易用,功能强大,实现了基于MySQL replication架构的自手动主从故障转移,从库重定向到主库并自动同步.尽管如此,在部署配置的过程中,由于疏忽总难 ...

  3. AChartEngine绘制图形

    AChartEngine是Android作图的方法之一,要使用AChartEngine,首先下载AChartEngine,按照以下方法将其jar包添加到工程中: 1.将achartengine-1.1 ...

  4. vim退出后终端保留 退出前的内容

    export TERM=linux 或者 具体选项 可以看看secrecrt的选项

  5. 一个java实习生两周八次的面试经历

    以前从来没有因为求职出去面试过,一直觉得面试很可怕,没想到最近两周我也成为了面霸,两周面试八次,我的找工作之路就这样开始了!大概两个星期之前,我看着自己在招聘网站上写好的简历连投出去的勇气都没有,战战 ...

  6. ahjesus自定义隐式转换和显示转换

    implicit    关键字用于声明隐式的用户定义类型转换运算符. 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换. 参考戳此 explicit    ...

  7. javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String

    javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String javax.el.Bean ...

  8. mysql出错:Access denied for user 'root'@'localhost' (using password: YES)

    网站链接mysql数据库的时候,连接不上,并报出错误:Access denied for user 'root'@'localhost' (using password:YES) 这是个相当恼火的问题 ...

  9. ecshop适应PHP7的修改

    说实话,ecshop这个系统,到目前也没见怎么推出新版本,如果是新项目,不太建议使用它.不过,因为我一直以来都在使用中,所以不得不更改让其适应PHP新版本.现在PHP 7已经出发行版了,所以更改来继续 ...

  10. 【转】推荐介绍几款小巧的Web Server程序

    原博地址:http://blog.csdn.net/heiyeshuwu/article/details/1753900 偶然看到几个小巧有趣的Web Server程序,觉得有必要拿来分享一下,让大家 ...