2018.02.09 kichijojipm 13
2018.02.09 Shoichi Kaji
• Shoichi Kaji
• github/PAUSE: skaji
• Perl5: cpm
• Perl6: mi6
• What is App::RemoteCommand?
• Why did I create it?
A simple remote command
launcher via SSH
Why did I created it?
• We have a lot of tools that support IT
automation, such as chef, ansible, capistrano,
• OTOH, we sometimes want to do ad hoc
operation. Then such IT-automation tools are
obtrusive. But ssh(1) is powerless.
• So I created App::RemoteCommand, which is
simple, and at the same time, powerful.
• Execute remote command in parallel
• Remember sudo pass
rst, never ask again
• You may specify a local script
• Append host and time to each output line
• Sane signal handling
• a) Built on top of Net::OpenSSH
• b) Using its own event loop
Built on top of Net::OpenSSH
• Net::OpenSSH is a wrapper around ssh(1),
created by Salvador Fandiño.
• Because it is a wrapper for ssh(1),
it can use the complicated ~/.ssh/con
• It multiplexes SSH connections.
• It provides sophisticated I/F for SSH operation,
including I/F for event oriented programming.
Using its own event loop
• Thanks to Net::OpenSSH, we can easily write an application
working with SSH in event oriented programming.
• In fact, App::RemoteCommand uses its own event loop; it
• SSH: connected,
• IO: readable
• Signals: catched
Try it now!
❯ cpm install -g App::RemoteCommand