「expect」を使用してパスワードを自動的に送信する [重複]
質問
この質問にはすでに答えがあります:
リモートサーバーからローカルサーバーにファイルをコピーしようとしています。これは、「expect」を使用してパスワードを自動的に送信することにより、それを実行するためのスクリプトです。
scp user@host:/folder/myFile ./
expect "Password: "
send "myPassword"
これを実行しても「パスワード」の入力を求められますが、何が問題なのでしょうか?
解決
あなたは、公開鍵と秘密鍵でSSHを使用したほうが良いかもしれませんように
あなたはそれをやろうとしているものから、音が鳴ります。あなたは、始めるためのssh-keygenはチュートリアルのためのgoogle可能性があります。
他のヒント
私はサムとNIKに同意しながら、
、あなたの質問への答えは、あなたが「入るヒット」しなかったことです。
send "mypassword\r"
このスクリプトは、ジョブ(感謝をして期待に 'zedwood' )
#!/usr/bin/expect -f
set filename [lindex $argv 0]
set timeout -1
spawn scp $filename myusername@192.168.1.123:/home/myusername/
set pass "mypassword"
expect {
password: {send "$pass\r" ; exp_continue}
eof exit
}
他の人が拾って他の場所で使用するようなスクリプトを放置しないでください。試してみてください 公開鍵認証, 、セットアップは非常に簡単です。
所属していません StackOverflow