TOP

Windows下使用AutoSSH,并作為服務自啟動(不用安裝Cygwin)
2017-10-11 18:26:06 】 瀏覽:10657
Tags:

之前的折騰過Windows下ssh的自動登錄优乐棋牌app下载,比如這篇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了。另外优乐棋牌app下载,實測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

 

需要建立反向隧道的時候优乐棋牌app下载,運行這個批處理就好。有需要的話,可以把這個批處理作為服務啟動。把一個可執行的文件轉為服務的軟件我推薦這個:NSSM - the Non-Sucking Service Manager

 

附件:autossh-cygwin.rar

請關注公眾號獲取更多資料



】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇最新GHOST XP系統下載旗艦增強版 .. 下一篇最新GHOST XP系統安全穩定版 V201..