Skip to Content
Linux Security Cookbook
book

Linux Security Cookbook

by Daniel J. Barrett, Richard E. Silverman, Robert G. Byrnes
June 2003
Intermediate to advanced
336 pages
8h 54m
English
O'Reilly Media, Inc.
Content preview from Linux Security Cookbook

6.6. Authenticating by Public Key (OpenSSH Client, SSH2 Server, SSH2 Key)

Problem

You want to authenticate between an OpenSSH client and an SSH2 server (i.e., SSH Secure Shell from SSH Communication Security) using an existing SSH2-format key.

Solution

Suppose your SSH2 private key is id_dsa_1024_a.

  1. Make a copy of the SSH2 private key:

    $ cd ~/.ssh2
    $ cp -p id_dsa_1024_a newkey
  2. Set its passphrase to the empty string, creating an unencrypted key:

    $ ssh-keygen2 -e newkey
    ...
    Do you want to edit passphrase (yes or no)? yes
    New passphrase : 
    Again          :
  3. Import the SSH2 private key to convert it into an OpenSSH private key, imported-ssh2-key:

    $ mkdir -p ~/.ssh                        If it doesn't already exist
    $ chmod 700 ~/.ssh
    $ cd ~/.ssh
    $ mv ~/.ssh2/newkey .
    $ ssh-keygen -i -f newkey > imported-ssh2-key
    $ rm newkey
    $ chmod 600 imported-ssh2-key
  4. Change the passphrase of the imported key:

    $ ssh-keygen -p imported-ssh2-key
  5. Use your new key:

    $ ssh -l remoteuser -i ~/.ssh/imported-ssh2-key remotehost

    To generate the OpenSSH public key from the OpenSSH private key imported-ssh2-key, run:

    $ ssh-keygen -y -f imported-ssh2-key > imported-ssh2-key.pub
    Enter passphrase: ********

Discussion

OpenSSH’s ssh-keygen can convert an SSH2-style private key into an OpenSSH-style private key, using the -i (import) option; however, it works only for unencrypted SSH2 keys. So we decrypt the key (changing its passphrase to null), import it, and re-encrypt it.

This technique involves some risk, since your SSH2 private key will be unencrypted on disk ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Practical Linux Security Cookbook - Second Edition

Practical Linux Security Cookbook - Second Edition

Tajinder Kalsi
Mastering Linux Command Line

Mastering Linux Command Line

Coding Gears | Train Your Brain

Publisher Resources

ISBN: 0596003919Errata Page