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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With