Ssh – How to install openssh v6.2 on Debian Squeeze

debian-squeezessh

I first tried the backports repository but 6.2 isn't in there. It's in the testing repository though, so I added the testing repository to /etc/apt/sources.list, did an apt-get update, then an apt-get install openssh-server openssh-client and got:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed
E: Broken packages

gcc and libc6-dev aren't dependencies for openssh-server or openssh-client, so why is it complaining that it needs libc6-dev? And how can I get around this?

My understanding is that "sudo aptitude install -f –safe-resolver openssh-server openssh-client" would try to resolve all dependencies, so I tried that but got:

Resolving dependencies...                
The following packages have been kept back:
  openssh-client openssh-server 
The following NEW packages will be installed:
  gcc-4.8-base{a} libgmp10{a} multiarch-support{a} 
The following packages will be REMOVED:
  libgmp3c2{u} 
The following packages will be upgraded:
  cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base lib32gcc1 lib32stdc++6 libc-dev-bin libc6 libc6-dev libc6-i386 libgcc1 libgomp1 libmpfr4 libstdc++6 libstdc++6-4.4-dev locales make openssh-blacklist openssh-blacklist-extra 
19 packages upgraded, 3 newly installed, 1 to remove and 277 not upgraded.
Need to get 35.7 MB of archives. After unpacking 3,334 kB will be used.
Do you want to continue? [Y/n/?] n
Abort.

So basically, it didn't want to install my desired packages and wanted to install other things. Not too helpful for me.

Best Answer

I wonder what functionality of this specific version do you need in squeeze.

The dependencies of openssh-server (1:6.2p2-6), included in jessie, reference a dep: libc6.1 (>= 2.16), and squeeze ships libc6.1 (2.11.3-4) included in eglibc-source (2.11.3-4). That is not something you could easily backport.

Attempting to backport this package to squeeze, fails because even the toolchain to backport packages is too old:

root@squeeze-chroot:~/openssh-6.2p2# apt-get build-dep openssh
Reading package lists... Done
Building dependency tree... Done
E: Build-Depends dependency for openssh cannot be satisfied because no available versions of package debhelper can satisfy version requirements

However, you can still try to just build it and install it in the /usr/local tree. You'll need to add a line to your sources.list:

deb-src http://ftp.XX.debian.org/debian squeeze main

And get all the dependencies:

# apt-get build-dep openssh

After that, the usual ./configure && make && make install will install the software to the /usr/local tree:

root@squeeze-chroot:~# /usr/local/sbin/sshd -X
sshd: illegal option -- X
OpenSSH_6.2p2, OpenSSL 0.9.8o 01 Jun 2010

It is up to you to port the init script to this version/location, try another packaging methods, like checkinstall or fpm, tweak the configure options, etc.

Related Topic