Net::SSH is an implementation of the SSH2 protocol in Ruby.

   http://rubyforge.org/projects/net-ssh

Version 0.0.2 brings the implementation to full compliance with the SSH2 
protocol, since you can now use ssh-dss key types.

The most significant new feature is a limited implementation of the SFTP 
protocol. Only a subset of the features of SFTP are implemented, namely 
directory enumeration, and getting and storing files. More features are 
coming.

The SSH protocol itself is asynchronous, so the "core" implementation of 
the SFTP protocol (Net::SSH::SFTP::Session) is also asynchronous. 
However, a synchronous version (useful when you don't need multiple 
channels open simultaneously) is also available (Net::SSH::SFTP::Simple).

Until Ruby 1.8.2 is released, you need to also install the patched 
version of the OpenSSL module for Ruby (also available from the Net::SSH 
site). Ruby 1.8.2 will include the patched version of OpenSSL, though, 
so once you have installed you'll need nothing else to run Net::SSH.

If you have specific features you would like Net::SSH to have, be sure 
to submit a feature request!

-- 
Jamis Buck
jgb3 / email.byu.edu
http://www.jamisbuck.org/jamis

ruby -ropenssl 
-e'k="01234567";p((c,c.padding,c.iv,c.key=OpenSSL::Cipher::BF.new,0,k,k*2)[0].decrypt.update("1A81803C452C324619D319F980D5B84DBB45FC0FE2BAA045".scan(/../).map{|n|n.to_i(16).chr}.join))'