可以将 openssh-server OpenSSH_7.6p1 升级到 OpenSSH_8.0p1 吗?

可以将 openssh-server OpenSSH_7.6p1 升级到 OpenSSH_8.0p1 吗?

尝试安装 OpenSSH_8.0p1,但仅安装了 OpenSSh 客户端。

sudo apt install openssl-server Reading package lists... Done
Building dependency tree 
Reading state information... Done 
E: Unable to locate package openssl-server 

答案1

为了在 Ubuntu 18.04(bionic)上将 OpenSSH 从 7.6 升级到 8.9,我遵循了此处给出的说明:如何在 Linux 中从源代码安装 OpenSSH 8.0 服务器

我开始使用的版本:

$ ssh -V
OpenSSH_7.6p1 Ubuntu-4ubuntu0.5, OpenSSL 1.0.2n  7 Dec 2017

以下是升级的命令:

sudo apt update
sudo apt install build-essential zlib1g-dev libssl-dev
sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/
wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz
tar -xzf openssh-8.9p1.tar.gz
cd openssh-8.9p1/
sudo apt install libpam0g-dev libselinux1-dev libkrb5-dev
./configure --with-kerberos5 --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh
make
sudo make install

重新启动您的机器(如果不重新启动,远程连接将使用旧版本)。

检查新版本

本地

打开一个新终端并运行:

$ ssh -V
OpenSSH_8.9p1, OpenSSL 1.1.1  11 Sep 2018

偏僻的

从远程机器检查 OpenSSH 版本是否已更改:

$ ssh -v user@ip

查找一行Remote protocol version。它显示版本。

在线的

使用sshcheck.com检查版本。

答案2

如果您使用 apt 工具在 ubuntu 存储库中搜索您的版本,您会在与您的问题无关的其他软件包中apt search openssh找到绿色的软件包。openssh-server/ubuntu-codename version

如果这是您要找的版本(我的版本已经显示 openssh 1:8.0p11),您可以sudo apt install openssh-server像平常一样安装它。但是,如果您在 ubuntu 存储库中找不到它,您可以在官方存储库中搜索它,甚至可以尝试从源代码编译它。

编辑:@VinohRc,我打错了 openssh,但已将答案编辑为正确的名称。但是,正如@Pilot6 所说,ubuntu 18.04 仍然没有 1.8 版本。

答案3

另请参阅以上答案。我使用的是 Ubuntu 16.x,虽然ssh -V显示正确的版本,但telnet一直显示旧版本。经过短暂的搜索,我发现该sshd服务保留了旧版本,因此我执行以下操作:

sudo cd /usr/sbin
sudo mv sshd sshd.bak                 # make a copy before overwriting
sudo cp /usr/local/sbin/sshd sshd

现在应该使用telnet更新的版本进行响应,但是为了安全起见,建议重新启动服务器。

答案4

对于 Ubuntu 20,检查您当前的 SSH 版本;

ssh -V

然后,如果您需要升级;

sudo apt update
sudo apt install build-essential zlib1g-dev libssl-dev
sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/
wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.8p1.tar.gz

您可以找到所有版本这里

然后,

tar -xzf openssh-8.8p1.tar.gz
cd openssh-8.8p1/
sudo apt install libpam0g-dev libselinux1-dev libkrb5-dev
./configure --with-kerberos5 --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh
make
sudo make install

检查您的升级版本;

ssh -V

OpenSSH_8.8p1, OpenSSL 1.1.1f  31 Mar 2020

如果仍然显示旧版本,则按如下方式复制新版本。

sudo cd /usr/sbin
sudo mv sshd sshd.bak                 # Back up existing
sudo cp /usr/local/sbin/sshd sshd

相关内容