Personal tools
You are here: Home Writing My HOWTO Zone Connect SSH Comm to OpenSSH

Connect SSH Comm to OpenSSH

This describes in a nutshell the process of accessing an OpenSSH server from SSH Communications. This is likely to be of interest to users of teh SSH Communications Windows version but also works for the command-line Unix version.

Connecting to OpenSSH from SSH Windows software

This documents my efforts to get SSH on Windows to connect to servers running OpenSSH. You may also use these instructions to connect from the command-line version of SSH Communications to OpenSSH.

I have not documented the reverse process (OpenSSH client to an SSH Communications server). The same steps are involved, however, and I do know that the key conversion process described here works both ways.

Upload Your Key

As you would normally do with the SSH client, be sure to upload your key to the server. You can do this, once you have actually connected using ordinary password authentication.

Things that are different:
  • OpenSSH uses .ssh directory; SSH Communications uses .ssh2 It is a leading source of annoyance and frustration.
  • OpenSSH uses authorized_keys for the allowed public keys; SSH Communications uses authorization.

Convert your key for use with OpenSSH

Now here is where things can get somewhat ugly. But it works! I assume here that you have followed the steps described in the SSH Communications usage document.

Go to the .ssh directory and look for your newly uploaded key file! If it isn't there, you didn't upload it properly.

Use ssh-keygen to convert your key to be compliant with the format used by OpenSSH. Here is the usage screen you should see:

You must specify a key type (-t).
Usage: ssh-keygen [options]
Options:
  -b bits     Number of bits in the key to create.
  -c          Change comment in private and public key files.
  -e          Convert OpenSSH to IETF SECSH key file.
  -f filename Filename of the key file.
  -g          Use generic DNS resource record format.
  -i          Convert IETF SECSH to OpenSSH key file.
  -l          Show fingerprint of key file.
  -p          Change passphrase of private key file.
  -q          Quiet.
  -y          Read private key file and print public key.
  -t type     Specify type of key to create.
  -B          Show bubblebabble digest of key file.
  -C comment  Provide new comment.
  -N phrase   Provide new passphrase.
  -P phrase   Provide old passphrase.
  -G file     Generate candidates for DH-GEX moduli
  -T file     Screen candidates for DH-GEX moduli

If in particular you do not see the -e and -i options, you are not accessing the OpenSSH ssh-keygen program and probably have a different SSH server installed. Do not continue with these instructions.

Now, let's convert the file. I am assuming you did not put a passphrase on your public key just uploaded.

ssh-keygen -i -f MyKey [edit].pub > MyKey-openssh.pub

Modify authorized_keys

The last step is easy.

cat MyKey-openssh.pub >> authorized_keys
If authorized_keys does not exist:
touch authorized_keys
cat MyKey-openssh.pub >> authorized_keys
You are done. Try connecting to the remote host using the ssh command.

Document Actions