This is an easy way of using ssh and scp without ssh keys. This Python script makes use of the pExpect Expect module. Your passwords are kept in the script so be sure to chmod it 0700.
Security-wise I feel this script is just as safe as using ssh keys. If someone gets root on your system they can use your ssh key to login to your remote server just the same as using your password.
Python Code
#!/usr/local/bin/python
# Python SSH SCP and Expect Example 1.0
# Author: Douglas Palovick
# License: GPL http://www.gnu.org/licenses/gpl.txt
import pexpect
import sys
import time
import os
TimeStamp = time.strftime("%m%d%y_%I%M%S%p",
time.localtime())
if sys.argv[1] == '-c':
foo = pexpect.spawn('scp -r %s user@address.org:/home/user/'
% sys.argv[2])
foo.expect('.ssword:*')
foo.sendline('Passwd_to_server')
foo.interact()
elif sys.argv[1] == '-b':
os.mkdir("/local-Comp/home/user/BKUP/foo.com%s" %
TimeStamp, 0700)
foo = pexpect.spawn(
'scp -r user@foo.org:/RemoteBox/user/%s /LocalBox/user/Bup/foo%s/'
% (sys.argv[2], TimeStamp))
foo.expect('.*ssword:')
foo.sendline('Passwd_to_server')
foo.interact()
elif sys.argv[1] == '-p':
foo = pexpect.spawn('ssh foo@bar.com')
foo.expect('.*')
foo.sendline('Passwd_to_server')
foo.interact()
else:
foo = pexpect.spawn('ssh default@default.org')
foo.expect('.*ssword:')
foo.sendline('Passwd_to_server')
foo.interact()