Module 7 - File Transfer¶
Historical miniclass
This lesson was recovered from the former Sandia minimega site. It is preserved for reference and may describe obsolete software, operating systems, commands, or external resources. Consult the current documentation before applying it.
Introduction¶
There are a number of ways to transfer files. Let's go over some of them
SCP and Rsync¶
SCP stands for secure copy.
SCP uses SSH to transfer a file across a network.
While less secure you can speed up SCP transfers by changing encryption to RC4.
You can also limit bandwidth with the -l flag to kbit/s. Some platforms will ignore this flag.
Rsync uses ssh to transfer files, but is a little more complex and does a better job of merging folders.
It also has a flag that more reliably limits the bandwidth in kbps, which is great if you are on a VPN and don't want to hog the internet.
Winscp¶
Winscp is a Windows port of SCP that provides a GUI. You can download it here

You can also throttle the upload speed when transferring large files.
Python¶
Python has an easy way of starting a http server in the local directory.
If your distro has python twistd installed you can start a ftp server in one line too
apt-get install python-twistd
echo "a:a">pass.txt && twistd -n ftp -r . -p 2121 --password-file=pass.txt
On github you can find a small 294 line SimpleHTTPServer that allows for file upload
wget https://gist.githubusercontent.com/UniIsland/3346170/raw/059aca1d510c615df3d9fedafabac4d538ebe352/SimpleHTTPServerWithUpload.py
python SimpleHTTPServerWithUpload.py 8080
Http(s) Server¶
Images can be referenced from http/https servers.
Minimega will block until the file downloaded to the local base directory