How to send password using sftp batch file

Viewed 135844

I'm trying to download a file from sftp site using batch script. I'm getting the following error:

Permission denied (publickey,password,keyboard-interactive).
Couldn't read packet: Connection reset by peer

When running the command:

sftp -b /home/batchfile.sftp <user>@<server ip>:<folder>

the batchfile.sftp includes these data:

password
lcd [local folder]
cd [sftp server folder]
get *
bye

Note: It's working when running at the prompt as

sftp <user>@<server ip>:<folder>

But I need the ability to enter the password automatically.

7 Answers
PSFTP -b path/file_name.sftp user@IP_server -hostkey 1e:52:b1... -pw password

the file content is:

lcd "path_file for send"

cd path_destination

mput file_name_to_send

quit

to have the hostkey run:

psftp  user@IP_SERVER

You need to use the command pscp and forcing it to pass through sftp protocol. pscp is automatically installed when you install PuttY, a software to connect to a linux server through ssh.

When you have your pscp command here is the command line:

pscp -sftp -pw <yourPassword> "<pathToYourFile(s)>" <username>@<serverIP>:<PathInTheServerFromTheHomeDirectory>

These parameters (-sftp and -pw) are only available with pscp and not scp. You can also add -r if you want to upload everything in a folder in a recursive way.

This command will help you

sshpass -p MYPASSWORD sftp MYUSERNAME@HOST
Related