Is there an option to put the password on the line as well with sftp?
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/
Like this
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD?
Is there an option to put the password on the line as well with sftp?
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/
Like this
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD?
Generally including a password in a command line is considered a security risk because it will show up to anyone else who can run ps/top, and it may be saved in your shell's history.
It would be a much better idea to setup key-based authentication if you are able.
Also, I don't believe it is going to be possible with sftp. It is meant to be used for secure transfers. If you really had to do something like this and you have no other choice then you probably need to be looking at automating with expect.
As others have mentioned, a command-line password should be the last resort.
However, if nothing else is possible; one can go for ssh pass
sshpass -p <password> sftp user@host
brew search sshpass
-- "We won't add sshpass because it makes it too easy for novice SSH users to ruin SSH's security."
SSHPASS="MY_PASSWORD" sshpass -e sftp user@host
this prevents the password to be visible for other user by looking into ps -axf
export HISTIGNORE=' ...'
and prefix your command by a single space so it isn't captured in your history file.
Sep 17, 2021 at 6:31
Just use perl, ruby or python to script what you are trying to do. In case of ruby it's just (taken from the net-sftp API docs):
require 'net/sftp'
Net::SFTP.start('host', 'username', :password => 'password') do |sftp|
# upload a file or directory to the remote host
sftp.upload!("/path/to/local", "/path/to/remote")
end
For more info http://net-ssh.rubyforge.org/sftp/v2/api/index.html
Don't do that - setup SSH public key authentication for automatic login.
For searchers that don't care that the password can be seen in the command-line command:
sftp userid:password@remoteHost
is how to include the password in the sftp
connect command.
UPDATE: this turned out to be incorrect... see comments
As the other answers have stated, use public key authentication. There is a great, although a little dated, IBM developerWorks series that should explain everything you want to know about it, as well as some useful supplemental tools such as keychain.
I suspect that there are as many answers as there are FTP clients. An SFTP server should not accept authentication information until encryption is established, so that the user and password are protected.
I believe the FileZilla client will allow for command line passing of the user and password .. see the documentation here. Given the reputation of the FileZilla project, I would expect it to operate securely.