OpenSSH 是免费开源的,完全实现 SSH 协议 2.0,它提供了许多用于安全访问和管理远程计算机系统以及管理身份验证密钥的工具,例如 ssh(telnet 的安全替代品)、scp、sftp(ftp 的安全替代品)、ssh-keygen、ssh-copy-id、ssh-add 等。最近,OpenSSH 9.3 发布了,并附带了许多新功能和错误修复;您可以阅读 SSH 发行说明以获取更多信息。在本文中,我们将解释如何从源代码在 Linux 系统上安装和配置最新版本的 OpenSSH 服务器和客户端。我们假设您已经安装了 OpenSSH 套件。要求:Debian/Ubuntu 或 RHEL/CentOS Linux 系统C编译器Zlib 1.1.4 或 1.2.1.2 或更高版本LibreSSL 或 OpenSSL = 1.0.1 < 1.1.0从源代码安装 OpenSSH 服务器在安装最新版本的SSH之前,请确保使用以下命令检查系统上安装的SSH的当前版本。ssh -V
OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g 1 Mar 2016
从上面的结果来看,安装的OpenSSH版本是7.7,要安装最新的OpenSSH版本,首先需要安装一些依赖,即开发工具或构建必需品以及其他所需的包,如下所示。-------------- On RedHat-based Distros --------------
sudo yum update
sudo yum group install 'Development Tools'
sudo yum install zlib-devel openssl-devel
-------------- On Debian-based Distros --------------
sudo apt update
sudo apt install build-essential zlib1g-dev libssl-dev
为了创建一个合适的环境来安装OpenSSH服务器,我们需要创建一个名为“sshd”的新系统用户和组,以及一个安全的地方 chroot。sudo mkdir /var/lib/sshd
sudo chmod -R 700 /var/lib/sshd/
sudo chown -R root:sys /var/lib/sshd/
sudo useradd -r -U -d /var/lib/sshd/ -c "sshd privsep" -s /bin/false sshd
解释上面 useradd 命令中的标志:-r – 告诉 useradd 创建系统用户-U – 指示它创建一个具有相同名称和组 ID 的组-d – 指定用户的目录-c – 用于添加注释-s – 指定用户的 shell现在,从任何可用的 HTTP 镜像下载 OpenSSH 版本 9.3 的 tarball,或者您可以使用以下 wget 命令直接在终端中下载。wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.3p1.tar.gz
tar -xzf openssh-9.3p1.tar.gz
cd openssh-9.3p1/
现在我们将使用 --with-md5-passwords、--with-privsep-path 和 构建并安装 OpenSSH 服务器>--sysconfdir 选项,这将安装 /…