Net::SSH::Perl
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な処理無しで実行できるようです。