1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
REM
Shutdown Windows
set HOUR=%time:~0,2%
if %HOUR% lss 18 (
echo Bad time to shutdown
goto :end
)
net use \\192.168.1.249\ipc$
"buguniao"
/user:
"administrator"
::shutdown -s -f -t 20 -m \\192.168.1.249
net use \\192.168.1.254\ipc$
"dellwindows"
/user:
"administrator"
::shutdown -s -f -t 20 -m \\192.168.1.254
net use \\192.168.1.210\ipc$
"shangwang"
/user:
"administrator"
::shutdown -s -f -t 20 -m \\192.168.1.210
net use \\192.168.1.249\ipc$ /del
net use \\192.168.1.254\ipc$ /del
net use \\192.168.1.210\ipc$ /del
REM
Shutdown Linux
cd /d D:\puttyfile_0.62cn
PLINK.EXE -ssh -v -pw suselinux root@192.168.1.241 -m test.sh
:end
pause
|
安全的改进思路如下:
1、在linux服务器上创建一个用户,假设为shutdownlinux,给于关机命令的权限,然后修改该用户的登陆脚本,执行关机或者其它命令。
2、设置putty的无需要密码登陆,保存为shutdownlinux。
3、导出putty的注册表项,假设为shutdown.reg
4、dos的批处理命令如下:
regedit /s shutdownlinux.reg
putty -load shutdownlinux
reg /s delete HKEY_CURRENT_USER\Software\SimonTatham
del *.reg
5、把4个文件(注:一个是putty.exe,一个是注册表文件shutdownlinux.reg,一个是配置putty自动登陆的私钥shutdownlinux.ppk,一个shutdownlinux.bat)做成自解压文件shutdownlinux.exe,设置为解压后运行bat,并且自删除。
6、解释一下批处理原因:首先putty的配置及密钥是放在注册表里的,命令regedit /s shutdownlinux.reg是导入配置和密钥,其次是命令行运行putty自动登陆,里面不含密码,登陆成功那个账号后,会在服务器端运行登陆脚本,这个应该不用解释。最后是删除注册表项和注册表文件。
7自己实验成功,效果如下:双击exe文件,先弹出一个DOS窗口,然后弹出PUTTY的登陆窗口,然后PUTTY被远程中断退出。