Subscribed unsubscribe Subscribe Subscribe

目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

Net::SSH::Perlを使ってみる

とりあえずこんな感じで、サーバに入って適当に設定情報をとってくるスクリプトを書いた。

#!/usr/bin/env perl

use strict;
use warnings;

use Net::SSH::Perl;

my $ssh = Net::SSH::Perl->new('SERVER'); #鍵を省略した場合は、${HOME}/.ssh/id_dsaを参照する。
#my $ssh = Net::SSH::Perl->new('SERVER', identity_files => ['${HOME}/.ssh/id_rsa']);
$ssh->login('USER');
# $ssh->login('USER', 'PASSWORD'); // パスワード認証の場合

my ($stdout, $stderr, $exit);
($stdout, $stderr, $exit) = $ssh->cmd('uname -a');
print $stdout;

($stdout, $stderr, $exit) = $ssh->cmd('cat /etc/hosts');
print $stdout;

($stdout, $stderr, $exit) = $ssh->cmd('cat /etc/resolv.conf');
print $stdout;

($stdout, $stderr, $exit) = $ssh->cmd('cat /etc/network/interfaces');
print $stdout;

($stdout, $stderr, $exit) = $ssh->cmd('/sbin/ifconfig -a');
print $stdout;

($stdout, $stderr, $exit) = $ssh->cmd('netstat -r');
print $stdout;