2016-08-10 3 views
0

私はコマンドを使用していsendコマンドのために、コマンドプロンプトのコマンドを送信するパスワード取得表示中のをその結果は実行されますしますコンソール上にプレーンテキストで表示されます。非表示出力は、</p> <pre><code>spawn ssh [email protected] expect "password:" send "passwordr" </code></pre> <p>問題もパスワードのシェルプロンプトの前に、いつかあるSSHを使ってリモートサーバに接続するために

それが道

  1. は常に
  2. を期待していた後に呼ばれて送信、確認してか、の取得呼び出された場合、それは*******はなく、プレーンテキスト

Iのようなものが表示されますsendの文書を読んでください。運がありません。

+1

'sshpass -p "your_passwordに" sshの-o StrictHostKeyChecking =なしYOUR_USERNAMEする@ SOME_SITE.COM'を使用してstty

spawn ssh [email protected] expect "password:" stty -echo send "password\r" stty echo 

を使用していますか? http://stackoverflow.com/questions/12202587/automatically-enter-ssh-password-with-script –

+1

可能であれば、パスワードをスクリプトに公開するのではなく、公開鍵認証を使用してパスワードなしでログインします( ' sshpass'と 'expect')があります。 – chepner

+0

これは決して 'bash'の質問ではありません。 'expect 'は独自のTCLベースの言語です。あなたが期待しているときには、もうbashにはなりません。 –

答えて

1

コンソールから出力を非表示にするには、sttyまたはlog_userを使用します。

log_user

spawn ssh [email protected] 
expect "password:" 
log_user 0 
send "password\r" 
log_user 1 
関連する問題

 関連する問題