1

У меня есть скрипт для копирования файлов с использованием Windows FTP. (Пакетный файл)

Пароль там в открытом виде. Можно ли запутать или зашифровать этот пароль?

Поскольку это сервер на предприятии, я не могу просто установить новые программы, такие как WinSCP. Я должен сначала попробовать ftp или сказать моим начальникам, что это невозможно.

(Я понимаю, что использование ftp не является безопасным способом копирования файлов, для этого нужно использовать sftp)

1 ответ1

2

То, что вы пытаетесь сделать, - это то, что я слышал, называемое "безопасность по неизвестности" ....

Вы можете передать пароль из процесса, который выполняет командный файл, и заблокировать этот процесс, чтобы никакие учетные записи не могли читать с него доступ к этому компьютеру и, возможно, использовать EFS для папки, в которой он находится, если вы можете или, возможно, немного Локер зашифровывает жесткий диск, на котором находится скрипт.

Таким образом, в пакете вы должны иметь 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

Дополнительные ресурсы

Windows 10: Запланированные задачи с блокировкой / разблокировкой рабочей станции не запускаются

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .