An easy way to set up public key authentication from a Windows machine:
- Generate the public/private key pair in a linux box using ssh-keygen without passphrase. For instance:
$ ssh-keygen -f win_id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in win_id_rsa.
Your public key has been saved in win_id_rsa.pub.
The key fingerprint is:
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| . . o . |
| . . o S = o o |
| . . . . = = = |
| E . + + |
| o o . o |
| o o++. |
- Copy both the public and the private keys in some private folder in your Windows machine (you can use scp from the command line or WinSCP or FileZilla).
- For every server and every account where you want to log using public key authentication, append the contents of the file with the public key (i.e. win_id_rsa.pub) into the file ~/.ssh/authorized_keys.
- When using Net::SSH::Any, pass the path to the file containing the private key (i.e. win_id_rsa) via key_path.