RubyスクリプトからSSHコマンドを実行してみる
ブログの更新がずいぶんしてなかったのですが、
最近ようやくやる気も徐々に出てきて、何かやろうかなぁと思って、
Rubyを使ってリモート操作したいなぁと思い立ってとりあえずSSHコマンドを叩いてみることにしました。
まずは、インストールから
% jruby -S gem install net-ssh
ここで注意で、依存関係の問題から次が自動でインストールされないので、一緒にインストールします。
% jruby -S gem install jruby-pageant
LoadError: no such file to load --jruby_pageant
のようなメッセージが出たら、上記のインストールが足りていないと思われます。
準備が整いました。
では、SSHコマンドを叩くhello worldプログラムを動かしてみます。
Net::SSH.start('ホスト名', 'ユーザ名', :password => 'パスワード') do |ssh| puts ssh.exec!('ls ~') end
実行したらちゃんとlsコマンドが動きました。
これは、いろいろと応用ができそうです。