2016-04-20 5 views
0

を介してリモートマシンに接続したときにスクリプトを実行しているとき、私はTCLスクリプトを使用して、次のシナリオを実行しようとしている -SCPタイムアウトのssh

シナリオ - ホストAは、TCLスクリプトを実行します。ホストAスクリプトはsshを介してホストBに接続します。次に、スクリプトは、ホストC(サーバー)からホストB(クライアント)へのscpファイル転送を呼び出します。

問題 - スクリプトは実際にはタイムアウトシナリオを実装していません。ただし、scpは10秒後にエラーメッセージなしで失敗します(おそらくタイムアウト)。手動で、つまりホストAからホストBにログインし、ホストCからホストBにscpを送信すると、タイムアウトは発生せず、ファイル転送は成功します。

"expect"パッケージを使用してtclスクリプトからssh接続を実装しました。 理由は何でしょうか?いくつかの解決策をお勧めします。

ありがとうございます。あなたは、Cのユーザーのauthorized_keysファイルをホストするために、ホストBのユーザーの公開鍵を追加し、ホストCに

RSAAuthentication yes 

+0

あなたがSCPに '-V'オプション(詳細モード)を使用してみました:Cをホストするために、ホストBからのssh -vを実行すると、以下の行が含まれている必要があり?何が失敗しているのかわからなくても、それを修正する方法を推測するのは少し難しいでしょう。 –

+0

scpに問題はないようですが、「expect」パッケージに問題があるようです。 expect関数のタイムアウトはありますか? –

+0

質問を編集して、これらのスクリプトの関連するソースコードを含めてください。 – Kenster

答えて

関連する問題