是否可以选择使用 sftp 将密码放在线上?
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/
像这样
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD?
是否可以选择使用 sftp 将密码放在线上?
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/
像这样
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD?
正如其他人所提到的,命令行密码应该是最后的手段。
但是,如果没有其他可能;一个可以去 ssh 通行证
通常在命令行中包含密码被认为是一种安全风险,因为它会显示给任何其他可以运行 ps/top 的人,并且它可能会保存在您的 shell 的历史记录中。
如果可以的话,设置基于密钥的身份验证会更好。
另外,我不相信使用 sftp 是可能的。它旨在用于安全传输。如果您真的必须做这样的事情并且您别无选择,那么您可能需要考虑使用expect进行自动化。
只需使用 perl、ruby 或 python 编写您想要执行的脚本。如果是 ruby,它只是(取自 net-sftp API 文档):
欲了解更多信息http://net-ssh.rubyforge.org/sftp/v2/api/index.html
不要那样做 - 为自动登录设置 SSH 公钥认证。
正如其他答案所述,使用公钥身份验证。有一个很棒的IBM developerWorks 系列,虽然有点过时,但应该解释您想了解的所有内容,以及一些有用的补充工具,例如钥匙串。
对于不关心可以在命令行命令中看到密码的搜索者:
sftp userid:password@remoteHost
是如何在sftp
连接命令中包含密码。更新:事实证明这是不正确的......见评论
我怀疑有多少 FTP 客户端就有多少答案。在建立加密之前,SFTP 服务器不应接受身份验证信息,以保护用户和密码。
我相信FileZilla客户端将允许命令行传递用户和密码。请参阅此处的文档。鉴于 FileZilla 项目的声誉,我希望它能够安全运行。