From: Gordon Thiesfeld Date: 2008-04-16T13:01:52+09:00 Subject: Re: Windows, Net::SSH: how do I use a private key (w / passw On Tue, Apr 15, 2008 at 6:45 PM, Luis Lavena wrote: > > On Apr 15, 8:27 pm, James Dinkel wrote: > > Luis Lavena wrote: > > > On Apr 15, 6:45 pm, James Dinkel wrote: > > >> channel.on_data do |ch, data| > > > > >> and it works, but I would prefer it to use a private key for the > > >> authentication and then prompt for the key's password. In the > > >> documentation it says it will automatically look for a key in certain > > >> places, but the places are unix paths and this needs to run from a > > >> Windows (XP) box. > > > > > You will need a few things: > > > > > Pageant (from PuTTY) is like a ssh keyring that hold all your private > > > keys. Also, you need to create a PuTTY session with the same name of > > > your server (files02) and put into Connection -> Data the username > > > you're using to log into the server. > > > > > That's what I'm using with capistrano and other Net::SSH things that I > > > cannot disclose, and worked without issues. > > > > > HTH, > > > > So, Net::SSH will pull a key from Pageant? I was hoping for something a > > little more portable, like being able to tell it to use a key located in > > the same directory as the script. > > AFAIK, it relly on plink, plink accepts provide a private key file (- > i), but I didn't see how that will fit into Net::SSH code. > > Maybe you can request it as feature: > > http://rubyforge.org/tracker/?atid=1126&group_id=274&func=browse > > -- > Luis Lavena I think you can probably do this now, but there are some quirks. You can pass in a :keys option to Net::SSH.start[1] and point it to your keys (I think you need both the private and public key on your side). Also, putty private keys aren't the same as OpenSSH keys. PuttyGen has an option to convert to OpenSSH keys, but I didn't have any luck using that with Net::SSH. Net::SSH does include a keygen tool (rb-keygen) that I used to generate a set of keys, and after setting up that pub key on the SSH server, I was able to connect. Hope that helps, Gordon [1] http://net-ssh.rubyforge.org/chapter-2.html#s3