Net::SSH::Perl

最終更新日時:2009-03-13 18:50:14
Perl OpenSSH

Net::SSH::Perlとは


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

インストール


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

使用例


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

初期化


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

パラメータ概要
protocolsshのプロトコルバージョン
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な処理無しで実行できるようです。

お問い合わせは 掲示板 にて。