With Ubuntu 15.10 and before, I had a host entry with "Protocol 1" in my .ssh/config file.

Ubuntu 16.04 doesn't have support for SSH1 anymore per default.

corben@ubuntu1604:~$ ssh -1 host
ssh1 is not supported

When using the ssh client with any host entry having a "Protocol 1" line in .ssh/config it complains with:

corben@ubuntu1604:~$ ssh host
.ssh/config line <nr>: Bad protocol spec '1'.

To connect to my host using ssh1, I could install the package openssh-client-ssh1 and call ssh1 instead of ssh . But the ssh1 client doesn't use the host entry configured in .ssh/config, when the "Protocol 1" line is omitted. There is no man page for ssh1 and "man ssh" still lists the -1 option for protocol version 1. I want to use a host entry as I have port forwarding and ssh keys configured, which I don't want to enter each time on the command line.

How to use ssh and ssh1 in coexistence and .ssh/config?

The host is an embedded device still in service, where no firmware updates will be released. As it is used in a LAN environment the security aspect using ssh version 1 isn't an issue.


Protocol SSH1 is gone for good and it is time to accept that. It will get removed from manual pages and documentation very soon so it will not confuse users. It is pretty unclear what you are trying to do.

ssh1 should still read the ~/.ssh/config, if Ubuntu maintainers didn't break something. Can you post the verbose log (ssh1 -vvv host1) from your connection to your ssh1 host? Does using ssh1 -1 host1 change something?

|improve this answer|||||
  • 1
    As said, I have no choice with this device. It's tied to ssh1, period. The only thing that works, is removing any "Protocol 1" lines from .ssh/config as the normal ssh command is complaining about it if there is any found in the file. No matter if the entry is for this host or another. For coexistence I have to call: "ssh1 -1 host". I hoped there is a way not to add any further command line options or even use the same command for all hosts. I understand ssh1 being old and unsecure, but this is out of question. – Corben Aug 28 '16 at 7:52
  • You can create alias alias ssh1="ssh1 -1" to simplify this work. The ssh1 is nothing more than the normal ssh with ssh1 support build in (not a tool supporting only ssh1), but I would not recommend using that for all the ssh operations. – Jakuje Aug 28 '16 at 7:54
  • Is the ssh1 command/package including any patches that have been integrated into the "normal" ssh command/package? I hope for compatibility reasons, the ssh1 support isn't dropped completely in the future. Imho it's okay if you have to install it explicitly. – Corben Aug 28 '16 at 8:02
  • It should be the same. The SSH1 support is turned on during compile time. – Jakuje Aug 28 '16 at 8:05

This can be fixed from the client end too, by installing an sshv1 client (available in ubuntu). Not recommended on a connected, live network, but I did this on a test network as the "server" in my case is very old equipment. Package is openssh-client-ssh1.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.