2016-07-14 9 views
3

私はIO :: PtyでNet :: SFTP :: Foreignを使用しています。Net :: SFTP :: Foreign無効なユーザーまたはパスワードのエラーを処理する方法は?

私のログインコマンドは次のとおりです。

Net::SFTP::Foreign->new(host=> $server_address, 
         user => $user_id, 
         password => $password) 
    or die "Could not Connect To Server $server_address: $!"; 

私は、サーバー/ユーザー/パスワードの無効なエントリを渡しています、それはエラーメッセージを投げていません。それは単にコマンドラインに掛かっているだけで、30分以上経過しても何も出力されません。

無効な入力パラメータがある場合は、エラーの処理方法をお手伝いしてください。

すべての有効な値を渡していれば、正常に機能しています。

+1

無効な場合は、間違ったパスワードを意味しますか?あるいは、これはホスト名でもIPアドレスでもない '$ server_address'を使うときにも起こりますか? – simbabque

+0

はい。間違ったパスワード/間違ったサーバー名/間違ったユーザー名。私が間違った値を渡すと、仕事はちょうど長い間ぶら下がっていて、それはまったく終わっていません。 – Edu

+2

モジュールと 'ssh'の両方でデバッグを有効にし、出力をここに投稿します:' $ Net :: SFTP :: Foreign :: debug = -1;私の$ sftp = Net :: SFTP :: Foreign-> new(more => '-vvv'、...); ' – salva

答えて

1

最後に、次のオプションを使用して問題を処理できました。 Net :: SFTP :: Foreign :: debug = -1; $ sftp = Net :: SFTP :: Foreign-> new(ホスト=> $ server_address、ユーザー=> $ user_id、パスワード=> $パスワード、more => ' - vvv'、timeout => 30);

このコマンドは間違ったhost_name、user_idまたはpasswordを処理します。接続が確立できない場合は、タイムアウトに指定された秒数を待ってからジョブが失敗します。

関連する問題