in reply to "raw" SFTP?

The SSH client plink (from PuTTY), can take the password from the command line... but I guess you will not be able to install that either!

In order to automate the SSH login process, you need to allocate a pair of master/slave pseudo-ttys and set the slave as the controlling terminal of the SSH process.

From Perl this can be done with IO::Pty, usually wrapped by the higher level Expect module. I don't believe you can do the same using core modules only.