34 | | Private keys containing a `DSA` or `RSA` private key in ''PEM'' format are supported (look for `-----BEGIN DSA PRIVATE KEY-----` or `-----BEGIN RSA PRIVATE KEY-----` in the file) and can be configured in the [wiki:help/en/howto/bookmarks Bookmark] or [wiki:help/en/howto/connection Connection] panel. |
| 34 | === How to configure public key authentication? === |
| 35 | |
| 36 | 1. Run the command {{{ssh-keygen}}} from the Terminal.app to generate a public/private pair of keys. They will be put in your directory {{{~/.ssh}}}, though you will probably be asked to approve or change this location. When you generate the keys you will be asked for a 'passphrase'. If you use a passphrase then you will have to enter it each time you use the keys for authentication. That is, you will have to type in the pass phrase everytime you log in, just as you would with a password. If you don't enter a passphrase (just press the return key) then you will be allowed to log-in without having to enter a passphrase. This can be more convenient, but it is less secure. |
| 37 | |
| 38 | {{{ |
| 39 | jungle:~/.ssh dkocher$ ssh-keygen -t rsa |
| 40 | }}} |
| 41 | |
| 42 | 2. Copy the public key to the remote host you wish to access and add it to the file {{{authorized_keys}}} in your {{{~/.ssh}}} directory. (If that file does not exist then you should create it.) Anybody listed in the authorized_keys file (via their public key) is allowed to log-in, provided that they can prove that they possess the corresponding private key. Thus if you have the private key in your .ssh directory on your home machine you'll be allowed in. |
| 43 | |
| 44 | |
| 45 | {{{ |
| 46 | jungle:~/.ssh dkocher$ ssh hostname < id_rsa.pub 'cat >> .ssh/authorized_keys' |
| 47 | }}} |
| 48 | |
| 49 | 3. In the Connection Dialog or the Bookmark editor in Cyberduck select ''Use Public Key Authentication'' and select the private key in your {{{.ssh}}} directory. |
| 50 | |