Sftpを使用してパスワードをその行に入力するオプションはありますか?
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/
このような
linux~ $ sftp [email protected]:/DIRECTORY_TO_GO_TO/ -p PASSWORD?
コマンドラインにパスワードを含めることは、ps/topを実行できる他のユーザーに表示され、シェルの履歴に保存される可能性があるため、セキュリティリスクと見なされます。
可能であれば、鍵ベースの認証をセットアップする方がはるかに良いでしょう。
また、sftpでそれが可能になるとは思いません。安全な転送に使用するためのものです。本当にこのようなことをする必要があり、他に選択肢がない場合は、おそらく expect を使用した自動化を検討する必要があります。
他の人が述べたように、コマンドラインパスワードは最後の手段であるべきです。
ただし、他に何もできない場合。 sshパスに行くことができます
sshpass -p <password> sftp user@Host
しないでください-自動ログイン用にSSH公開鍵認証をセットアップします。
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
他の回答が述べたように、公開鍵認証を使用します。 IBM developerWorks series は、少し古くはありますが、知りたいことすべてを説明している素晴らしいもの、およびキーチェーンなどの便利な補足ツールがあります。
コマンドラインコマンドでパスワードが表示されることを気にしない検索者向け:
sftp userid:password@remoteHost
は、sftp
connectコマンドにパスワードを含める方法です。
更新:これは正しくないことが判明しました...コメントを参照してください