Ubuntu 16.04 で OpenSSH の最新バージョンへアップグレードをしてみたメモ。
$ ssh -V
OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016
$ cd ~/
$ wget http://mirror.exonetric.net/pub/OpenBSD/OpenSSH/portable/openssh-8.2p1.tar.gz
$ tar -zxvf openssh-8.2p1.tar.gz
$ cd openssh-8.2p1
$ ./configure
$ make
$ sudo make install
古いものを退避しておき、新しい ssh コマンドのパスをシンボリックリンクを作成する。
$ cd /usr/bin/
$ mv ssh ssh_old
$ sudo ln -s /usr/local/bin/ssh ssh
$ ssh -V
OpenSSH_8.2p1, OpenSSL 1.0.2g 1 Mar 2016
新しいバージョンで ssh を試みると下記のようなエラーに遭遇する場合があります。
$ ssh admin@192.168.1.1
Unable to negotiate with 192.168.1.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1
この場合は -o オプションでアルゴリズムを追加して接続することができます。
ssh -o KexAlgorithms=+diffie-hellman-group-exchange-sha1 admin@192.168.1.1