我有一个使用 Windows ftp 复制文件的脚本。(批处理文件)
里面的密码是明文的。是否可以混淆或加密这个密码?
由于它是工厂中的服务器,因此我无法简单地安装 WinSCP 等新程序。我必须先尝试 ftp,或者告诉我的上级这种方式不可行。
(我知道使用 ftp 不是复制文件的安全方式,因此必须使用 sftp)
答案1
你所尝试做的就是我所听说的“隐秘的安全”......
您可以从执行批处理文件的进程中传入密码,并锁定该进程,这样任何有权访问该计算机的帐户都无法从中读取密码,甚至可能使用远程教育如果你可以的话,也可以找到它所在的文件夹位锁加密脚本所在的硬盘。
因此在批处理中,您将SET ftpPass=%~1
得到任务计划程序或者无论您已锁定什么来执行它,都将密码作为第一个参数传递,以便C:\Folder\FTPScript.bat "MyPassword"
在脚本中他们只能看到%ftpPass%
。
批处理脚本示例
@ECHO ON
SET ftpPass=%~1
SET ftphost=<hostname>
SET ftpusr=<username>
SET ftptmpfile=%temp%\temp_MyFTPJob.ftp
IF EXIST "%ftptmpfile%" DEL /Q /F "%ftptmpfile%"
:ftp
ECHO open %ftphost%> %ftptmpfile%
ECHO %ftpusr%>> %ftptmpfile%
ECHO %ftpPass%>> %ftptmpfile%
ECHO prompt >> %ftptmpfile%
ECHO binary >> %ftptmpfile%
ECHO mput "C\folder\path\*.txt" >> %ftptmpfile%
ECHO dir >> %ftptmpfile%
ECHO bye >> %ftptmpfile%
ftp -s:%ftptmpfile%
IF EXIST "%ftptmpfile%" DEL /Q /F "%ftptmpfile%"
EXIT