Have you tried using a FTP step?
This example below is trying to do a get, but you can easily change to do a put:
In the below example my Host Linux machine 10.130.219.147. My User is test. The file I am wanting to get is also called test and happens to be in my /home/test folder.
From a command prompt from the client machine:
C:\Users\nunma04>ftp 10.130.219.147
Connected to 10.130.219.147.
220 (vsFTPd 3.0.2)
User (10.130.219.147:(none)): test
331 Please specify the password.
Password:
230 Login successful.
ftp> get test
200 PORT command successful. Consider using PASV.
150 Opening ASCII mode data connection for test (12 bytes).
226 Transfer complete.
ftp: 14 bytes received in 0.00Seconds 14000.00Kbytes/sec.
ftp>
The contents of my file:
C:\Users\nunma04>type test
testing
123
I know my FTP Server is up and I can login to get my file.
This is my FTP Step: FTP normally runs or Port 20 or 21. When I click the Execute Now push button I see the contents of the file are am doing the FTP on.
For additional information look in the DevTest documentation
External - FTP Step