Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Include password in SFTP batch file

I need to connect to our SFTP server using the built in Windows sftp feature and a .bat file which automatically inputs the login data, user and password. I´ve tried everything and just cant figure out the correct way. No matter what I try, it always asks me to manually put in my password. I want to avoid that. It should do the whole SFTP process by itself once it runs.

One thing I tried was this:

sftp sftp://USERXYZ:[email protected]

But this still asks me to manually put in my password and to make it worse, it thinks the user is USERXYZ:PASSWORDXYZ instead of just USERXYZ

Here's my script with dummy values:

sftp sftp://[email protected]
lcd C:\Users\PATHXYZ
cd PATHXYZ
put TESTFILE.txt
bye

Hope you can help me, thanks in advance.

like image 646
Bangarus Avatar asked Sep 20 '25 07:09

Bangarus


1 Answers

OpenSSH sftp does not have an option to provide a password for security reasons. It does not even accept an sftp:// URL.

There are lot of workarounds and hacks used for Linux version:
How to run the sftp command with a password from Bash script?
I'm not sure if there's a commonly used workaround/hack for Windows version.

Though you should not use a workaround/hack. It is better to use a public key authentication instead of a password authentication.
See How to properly configure Win32-OpenSSH authentication.


Or use another SFTP client that offers an option to provide a password. For example (my) WinSCP client accepts the sftp:// URL which you have tried to use. There is a guide for converting OpenSSH sftp script to WinSCP.

like image 56
Martin Prikryl Avatar answered Sep 22 '25 23:09

Martin Prikryl