|Academic Computing and Communications Center|
Quick Introduction to FTP (and SFTP
Originally published in The A3C Connection.
|What is FTP?|
So what is FTP anyway? FTP is short for File Transfer Protocol, and that's just what FTP is: the file transfer protocol in the Internet's TCP/IP protocol suite. Not sure what those words mean? Check out FTP, the Protocol.
Copying a file from one computer to another is a pretty basic task, and copying those files over a network sure beats using floppies. When the network in question is the Internet, FTP (File Transfer Protocol), or rather SFTP, if you are concerned about security, is the tool of choice for moving files. Is your computer connected to the UIC-Net network? Then the UIC-Net connection to the Internet can open up the world of FTP for you.
And what is SFTP? FTP and SFTP are two file transfer protocols. These days, file transfer programs generally support both protocols. So however you've been doing FTP, you can generally start doing SFTP instead. This is a good thing, because the ACCC is soon going to require SFTP (or SCP) for file transfer with its machines. For more information, see SFTP -- Secure FTP below.
|File Transfer When You Don't Have Accounts|
When you use FTP or SFTP, software on your computer (your "local host machine") talks to software on the computer you're exchanging files with (the "remote host machine"). FTP was originally designed for peer-to-peer file transfer -- you’d use it to copy a file from one computer or computer account belonging to you to another computer or account also belonging to you. When used in this way, you must have an active account on both computers and you must know each accounts' password. This is why you probably won't use FTP when you exchange files with your colleagues. They can't -- and you don't want them to -- read or write files in your personal storage space. (You'd probably use email instead, say, a MIME attachment with Eudora or Pine.)
But there are two important situations when you don't need an account and password on both computers to use FTP:
While many microcomputers have accounting systems; most people don't have them password protected. Does this sound a little scary to you? Well, in most cases your microcomputer will not run FTP unless you're there to tell it to do so, so it'll be your local host machine and you'll decide which files you get or send. But newer network-aware operating systems give you the option of running an "FTP demon". (A demon, a.k.a. daemon, is a program that runs in the background and provides its services on demand.)
Running an FTP demon on your desktop machine has its advantages -- mainly that you don't have to be at your PC to transfer files to or from it. But this is also a major and obvious disadvantage -- you can transfer files to and from your PC without being there, then maybe other people can too. You should be able to create an account for yourself on your FTP demon; guard its password as you would any other account's password. And be wary even if you don't run an FTP demon; FTP is by no means the only way to transfer files between machines on a LAN!
Anonymous FTP is the other, more important case where you don't need to have an account on the remote machine you're exchanging files with. There are many FTP anonymous server machines on the Internet; their purpose is to distribute files to the public. To get around the FTP requirement that "you have to have an account on the remote machine," these FTP servers have public accounts (usually a limited number so the server doesn't get bogged down) that anyone can use. There are anonymous FTP sites for anything and everything that can be put into a file and shipped over a network; certainly computer programs (for any operating system), but also music, pictures, movie clips, and all kinds of information. We've mentioned computer-related FTP sites in The A3C Connection before: an FTP site at MIT that is famous for serving Internet FAQs, anonymous FTP servers for Mosaic and antivirus programs, and the ACCC's ftp.uic.edu FTP server for the Network Services Kit.
|Anonymous FTP Servers|
The login id for the public accounts on most anonymous FTP servers is anonymous, and guest is also common. The password can be anything, but most anonymous FTP service machines will ask you to enter your complete email address as your password. (So Ada Lovelace Byron's "password" would be her netid at uic.edu: firstname.lastname@example.org.)
If you're new to the world of anonymous FTP, you'll probably find the Usenet/Netnews FAQ on anonymous FTP service useful.http://tile.net/ftp-list/ claims to be a complete index to all anonymous FTP servers and its searching facilities are easy to use, so it's a good place to start looking.
A "GUI" is a Graphical User Interface -- software that sits between
you and the commands that you'd need to enter to perform specific tasks.
You click icons and select menu items, then the GUI software translates
your selections into commands and submits them for execution.
FTP is a perfect candidate for acquiring a GUI interface -- graphic user interface, where you can do things by point and click and drag and drop -- the FTP protocol says what functions should be provided by FTP software but not the actual commands to be used. FTP GUIs recommended by the UIC REACH experts are: For Macs, Fetch, the FTP client that comes with the Mac version of the Network Services Kit is very highly recommended. For Windows, ws_ftp is recommended, and it is also in the Network Services Kit. Both support SFTP.
|SFTP -- Secure FTP|
SFTP (Secure File Transfer Protocol or SSH File Transfer Protocol), is the safest way to use transfer files between computers and is about to become very important at UIC. SFTP is a network protocol providing file transfer and manipulation over a secure SSH secure data stream. Shortly, only secure SFTP (or SCP) connections will be accepted for file transfer with ACCC UIC systems. The Wikipedia entry on SSH file transfer protocol explains SFTP very nicely.
|What about FTPing on the Web?|
If you are a confirmed World Wide Web "surfer," you probably know that FTP is
one of the protocols supported on the Web; URLs like ftp://ftp.uic.edu/pub/depts/accc/server_services/ are
common. (In FTP terms, the remote host is ftp.uic.edu and the directory
So why use FTP or SFTP the oldfashioned way -- with FTP commands or software -- rather than the new way on the Web? Well, the Web is a good way to explore anonymous FTP sites to find the ones you're interested in -- good for both you and for the FTP site itself. When you connect to an FTP site via its URL, your browser connects only briefly, just long enough to get a directory list, so you don't tie up the FTP connection while you're browsing through its directories. And unless you're using an FTP/SFTP GUI, your Web browser will display the FTP server's directory lists in a much more convenient manner.
So, sure, if you're out there surfing the net to find the anonymous FTP site that has what you're looking for, use your WWW browser. But once you know what "remote machine" you'll be using, whether it's an anonymous FTP site or your own ACCC account, you might find that it's better to connect to it using FTP or SFTP, if only because after you connect to the remote FTP server, you'll stay connected while you transfer all the files you want. This is particularly useful with anonymous FTP servers; they can be very busy, particularly during the day, and you might have to try several times before you make a connection. And you might find it easier to control the mechanics of the transfer using FTP or an SFTP GUI.
|Getting Help in FTP|
All FTP software is different, so the most important thing you'll need
to know before you begin using it is how to get help with the details.
If you're using an FTP or SFTP GUI, it will probably have a Help menu or function
key. But line-at-a-time FTPs/sFTPs have help too. For a list of available FTP
commands, use: ? or: help
For help on specific FTP command, use:
help cmdnamewhere cmdname is the name of the command.
You can also request help for the remote FTP demon's commands. For example,
the FTP demons on the ACCC UNIX machines support a group of useful UNIX-specific
commands; to see a list when you're FTPing to one of them, enter: site
site help cmdname(site is a standard FTP command that tells your FTP software to send the rest of the command to the remote FTP software only, so site help cmdname asks for help from the remote FTP demon about its command cmdname).
|FTP/sFTP File Transfer||Previous: 1. File Transfer: Which type should you use?||Next: 3. Web Publishing via FTP|
|2006-12-6 ACCC documentation||