有没有一个选项把密码放在线上以及SFTP?
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/
喜欢这个
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD?
通常在命令行中包含一个密码被认为是一个安全风险,因为它会显示给其他任何可以运行ps / top的人,并且可以保存在shell的历史logging中。
如果可以的话,设置基于密钥的authentication将是一个更好的主意。
另外,我不相信这将是可能的与SFTP。 这意味着用于安全传输。 如果你真的必须这样做,你没有其他select,那么你可能需要考虑自动化与期望 。
正如其他人所说,一个命令行密码应该是最后的手段。
但是,如果没有别的可能, 人们可以去ssh通行证
sshpass -p <password> sftp user@host
不要那样做 – 为自动login设置SSH公钥authentication。
正如其他答案所述,使用公钥authentication。 IBM developerWorks系列虽然有点过时,但应该解释一切您想知道的信息,以及一些有用的补充工具,如钥匙串。
只要使用perl,ruby或python来编写你正在做的事情。 在ruby的情况下,它只是(来自net-sftp API文档):
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
我怀疑有这么多的FTP客户端的答案。 SFTP服务器在encryptionbuild立之前不应该接受authentication信息,以保护用户和密码。
我相信FileZilla客户端将允许用户和密码的命令行传递。请参阅这里的文档。 鉴于FileZilla项目的声誉,我希望它安全地运作。