Linux, FreeBSD, Juniper, Cisco / Network security articles and troubleshooting guides

How to use ftpproxy in a unix script
Page 1 of 1

Author:  nikonjd [ Fri Feb 20, 2015 1:36 pm ]
Post subject:  How to use ftpproxy in a unix script

My apologies if this goes in twice.

We have a client who only uses ftp for file transfers. On our Unix server I can use the following at the command line and I can access the client ftp server. How can I use this in a script?

ftp ftpproxy <enter>
userid@host <enter>
password <enter>

Author:  mandrei99 [ Sat Feb 21, 2015 7:15 pm ]
Post subject:  Re: How to use ftpproxy in a unix script


Have you checked “expect” interpreter ? You can use it to automate authentication system that require human interraction.

Here’s an example to automat FTP login with this “expect”:

Expect installation under Debian Linux

$ sudo apt-get install expect
$  which expect

Automate FTP login with expect script

$ vim

spawn ftp
expect -re "Name \(.*\):"
send "sombody\r"
expect "Password:"
send "password\r"
expect "ftp>”

Few notes on above ftp script:
- you need to send the linux new line feed (the ENTER) character ‘\r’ at the end of every command.
- you can further customize it to upload or download files from the ftp server automatically:
send “get 1MBfile\r”
expect "ftp>"
send "bye\r"

Quoting expect documentation:
Interact is an Expect command which gives control of the current process to the user, so that keystrokes are sent to the current process, and the stdout and stderr of the current process are returned.

Then to run the auto ftp script:
$ expect
spawn ftp
Connected to
220 vsftpd
Name ( sombody
331 Password required for sombody
230 User sombody logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get 1MBfile
local: 1MBfile remote: 1MBfile
200 PORT command successful
150 Opening BINARY mode data connection for 1MBfile (1000000 bytes)
226 Transfer complete
1000000 bytes received in 12.52 secs (78.0 kB/s)
ftp> bye
221 Goodbye.

Author:  nikonjd [ Sat Feb 21, 2015 8:57 pm ]
Post subject:  Re: How to use ftpproxy in a unix script

Thanks! This works as well
ftp -vn <<EOF
open ftpproxy
userid@host password
cd /wherever/the/file/is
get file

Author:  mandrei99 [ Sun Feb 22, 2015 4:54 am ]
Post subject:  Re: How to use ftpproxy in a unix script

Good that it works for you. It does not for me on BSD / MAC ftp.

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group