通过ForceCommand执行自定义脚本时Win32 SSH无法启动SFTP的问题求助
通过ForceCommand执行自定义脚本时Win32 SSH无法启动SFTP的问题求助
各位大佬好,我最近遇到了一个头疼的问题,想请大家帮忙看看:我写了一个脚本,用来在用户通过SSH登录时自动发送邮件告警,是通过ForceCommand来触发这个脚本的。
目前终端窗口登录时一切正常,脚本会顺利执行并发送告警邮件;但SFTP功能彻底没法用——Bitvise的日志里明明显示“SFTP channel opened”,可SFTP窗口就是弹不出来。我怀疑是不是我的脚本里漏掉了什么关键内容?
下面是我的配置和脚本内容:
sshd_config中的相关配置
#Run command at login ForceCommand c:\ProgramData\ssh\login.bat
我的login.bat脚本
@echo off REM For colored text; see :colorEcho below SETLOCAL EnableDelayedExpansion for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do ( set "DEL=%%a" ) ipconfig /all echo: REM Get current date and time For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b) For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b) call :colorEcho a0 "User %LOGNAME% connected to %COMPUTERNAME% from %SSH_CONNECTION% at %mydate%_%mytime%" REM Send alert that user has connected. c:\BatchFiles\EmailMessage\EmailMessage.exe -s "New Connection to %COMPUTERNAME%" -b "User %LOGNAME% connected to %COMPUTERNAME% from %SSH_CONNECTION% at %mydate%_%mytime%" echo: echo: REM Send original command from SSH so shell will start cmd %SSH_ORIGINAL_COMMAND% REM This provides for colored text :colorEcho echo off <nul set /p ".=%DEL%" > "%~2" findstr /v /a:%1 /R "^$" "%~2" nul del "%~2" > nul 2>&1
麻烦各位帮忙排查下问题出在哪,谢谢大家!
备注:内容来源于stack exchange,提问作者Mark Williams
相关产品推荐
相关产品推荐

