As a client, I'm using SSH Tectia Client 5.0.1.79 (but I'd be glad to upgrade if this will help).

As an SSH daemon on the server I'm using the default sshd that comes with Linux. I do not want to change this on the server.

I also use Putty as an SSH terminal (it works with emacs quite well), but I like the SFTP capability of the Tectia product (seems to be the nicest SFTP client). I got Putty to work with public key authentication (I had to convert private key formats), but I haven't had any luck with the SSH Tectia Client.

I want public key authentication that will work with both Putty and SSH Tectia Client. Right now I can only get Putty to work.

The way I am generating the key on the server is using:

ssh-keygen -t rsa -b 2048

and of course I use a passphrase for the private key.

I place the public key into .ssh/authorized_keys, and place the passphrase-protected private key on my Windows client.

However, I can't get SSH Tectia Client to work with a key generated in this way.

The right way to set up public key authentication is to generate the keys on the client host and distribute the public keys to server hosts. You should never transfer the security critical private key from where it was generated.

More recent versions of Tectia Client come with a key generation and upload wizard which makes this rather easy to set up. You can generate the key and upload the public key right from the Tectia Configuration GUI with a couple of mouse clicks.

If you were running a Tectia Server, the GUI would be all you need. Since you're running an OpenSSH server, after uploading the public key you need to convert it to a format OpenSSH understands and add it in the authorized_keys file:

ssh-keygen -i -f id_dsa_2048_a.pub >> $HOME/.ssh/authorized_keys

Here id_dsa_2048_a.pub is the name of the public key file in Tectia (RFC 4716) format. The file name may vary, of course.

Maybe I'm misunderstanding what you're saying here but I believe Ville's answer above does just that. The command referenced uses OpenSSH keygen to import the public key (which is in Tectia format) to OpenSSH format and append it to the authorized_keys file. This should work for any OpenSSH server version 3.0 or newer. The authorized_keys2 file was deprecated since OpenSSH 3.0.

Hi, yes this is possible using Putty's own puttygen.exe, loading the ppk key, going to conversions and exporting the key out in OpenSSH format. Tectia Client and Server versions 5.2 an newer work with OpenSSH keys without any need for conversion.