I work on software on half a dozen servers and I work on these every day. In order to work directly from my GUI using my favorite tools (like gedit) I need to mount them on the local file system. I wrote the script below to automatically mount these drives. If you're working on a laptop you may also want to look at my instructions on how to Unmount All Fuse Mount Points.
#!/bin/bash # Get a count of files on the foo server dirCount=`ls /mnt/foo/ -a -1 | wc -l` # If unmount was specified if [ "$1" == "-u" ] ; then # Check if there are more files than an empty directory if [ $dirCount == 2 ]; then echo Servers are not currently mounted. exit fi # Unmount the volumes echo Unmounting servers fusermount -u /mnt/foo fusermount -u /mnt/bar else # Check if there are more files than an empty directory if [ $dirCount != 2 ]; then echo Servers are already mounted. exit fi # Mount the systems echo Mounting servers echo echo Connecting foo.example.com echo foo_pass | sshfs joel@foo.example.com:/ /mnt/foo -o password_stdin echo Connecting bar.example.com echo bar_pass | sshfs joel@bar.example.com:/ /mnt/bar -o password_stdin fi
You'll want to save any lines that contain foo or bar with your own server details, including the password, username, and server name. You may also want to avoid using the -o password_stdin option that I used. This is completely insecure in that anyone who gets access to your computer can find your password in this plain text bash script. If you exclude it you'll be prompted for your password each time you connect. A better solution would be to setup public/private keys on your local box and the server. For some reason, the servers I connect to have broken (or odd) key setups and I don't have control of those boxes to correct it.