1

sftpを使用してサーバーに接続し、ファイル転送を行うbashスクリプトを自動化したいと思います。私はこれのパスワードを持っています、そして最初に私はこれを試しました

sftp $acc@$host << EOF
<passwd_here>
cd $dir
get $file
quit
EOF

しかし、それでもパスワードの入力を求められ、プロンプトで手動で入力する必要がありました。

SOを検索した後、で解決策があるこの投稿expectを見つけました。これを試したところ、次のエラーが発生しました。

脚本:

sftp -b cmdfile.txt $acc@$host
expect "Password:"
send "<passwd>\n";
interact

エラー:

Permission denied (publickey,keyboard-interactive).

cmdfile.txt

cd $dir
get $file
quit

bashスクリプトでパスワードを使用して接続する方法を教えてください。

4

3 に答える 3

-2

scp / sftpでは、キーベースの認証を使用する必要があります。認証するユーザーからの公開鍵を、サーバー上の〜/ .ssh / authorized_keysファイル、ログオンするユーザーのホームディレクトリにコピーします。クライアント側でパスワードをクリアテキストで保存することは良い習慣ではありません、あなたは知っています:)そうすれば、プロンプトからパスワードを読み取るという問題も「回避」できます。

于 2012-09-20T07:55:59.850 に答える
-2

はい、キーベースの認証が道です。ここでいくつかの方向性を確認してください。

于 2012-09-20T08:01:38.650 に答える