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
を
あなたがSCPに '-V'オプション(詳細モード)を使用してみました:Cをホストするために、ホストBからのssh -vを実行すると、以下の行が含まれている必要があり?何が失敗しているのかわからなくても、それを修正する方法を推測するのは少し難しいでしょう。 –
scpに問題はないようですが、「expect」パッケージに問題があるようです。 expect関数のタイムアウトはありますか? –
質問を編集して、これらのスクリプトの関連するソースコードを含めてください。 – Kenster