1

perl スクリプトで EC2 インスタンスを開始し、Net::OpenSSH を使用して接続し、いくつかのコマンドを実行します。

my $ssh = Net::OpenSSH->new( $username . "\@" . $host, 
          key_path => $key_path,
          master_opts => [-o => "ConnectionAttempts=30", -o => "ConnectTimeout=30"] );

if ( $ssh->error ) {
  die "Timeout: " . $ssh->error . "\n";
}

これは機能していないようです - これは 15 分間試してから終了する必要がありますが、ほとんどすぐに戻ります。Timeout: エラー メッセージが表示されないため、ssh はエラーを返しません。

これは正しい構文ですか? EC2 インスタンスが利用可能になるまでに数分かかる場合があるという事実に対処するためのより良い方法はありますか?

4

1 に答える 1

0

ConnectionAttemptsCPANのドキュメントによると、私はそれを見ることができ、代わりににConnectTimeout行くべきです. 試してみてください。default_ssh_optsmaster_opts

于 2013-05-28T07:40:34.997 に答える