Net::SSH::Perl - ぷちWiki

最終更新日時:

Net::SSH::Perlとは



Net::SSH::Perlを使用すると、Perl script 上で ssh 接続することができます。
同じような操作を多サーバで実行するといった際に非常に便利です。

インストール



CPANから取得し、通常の方法でインストール可能です。

使用例



以下、簡単に使用例を挙げておきます。

初期化



ホスト名をnewして初期化します。
この時、以下のパラメータの指定が可能です。

パラメータ
概要
protocol
sshのプロトコルバージョン
interactive
パスワード、パスフレーズをinteractiveに聞いてくるか否か。0/1
identity_files
秘密鍵ファイルのリスト

    my $ssh = Net::SSH::Perl->new('hostname, protocol => 2,  interactive => 1, identity_files => ['/home/xxx/.ssh/id_rsa']);

ログイン



ログイン名とパスワードを指定してログインします。

    $ssh->login('user', 'pass');

コマンド実行



指定したコマンドを実行します。
返値は、STDOUT, STDERR, exitコードです。

 my ($stdout, $stderr, $exit) = $ssh->cmd('df');

注意点



パスフレーズありの鍵認証はinteractive offでは動作しません。
それ以外であれば、interactiveな処理無しで実行できるようです。