如何在 Linux 中从源代码安装 OpenSSH 8 服务器?
OpenSSH是 SSH 协议的开源实现,它加密所有流量以消除窃听、连接劫持和其他攻击。它由 OpenBSD 项目开发,并在 BSD 风格的许可下提供。
OpenSSH 8 中包含的实用程序
- 可以使用 ssh、scp 和 sftp 执行远程操作。
- 包括 ssh-add、ssh-keysign、ssh-keyscan 和 ssh-keygen 的密钥管理。
- 服务端包括 sshd、sftp-server 和 ssh-agent。
在本文中,我们将向您展示如何在基于 Debian 的 Linux(Ubuntu/Kali/Linuxmint/Elementary)中从源代码构建和安装 OpenSSH。
安装
首先,在安装 OpenSSH 之前,我们将安装所有依赖项(make 用于构建和安装源代码,wget 用于下载 tarball 等)。
sudo apt update
sudo apt install build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev wget
现在在/var/lib目录中创建一个新文件夹sshd
sudo mkdir /var/lib/sshd
然后更新目录的文件权限和所有权
sudo chmod -R 700 /var/lib/sshd/ && chown -R root:sys /var/lib/sshd/
要验证更改,请运行:
ls -l -d /var/lib/sshd/
在这里,我们可以看到 sys 是一个所有者,并且只有用户对该目录具有读、写和执行权限。
注意:您单击这些链接可阅读有关 Linux/Unix 系统中文件权限和所有权的更多信息。
现在创建一个系统用户sshd
useradd -r -c 'sshd PrivSep' \
-d /var/lib/sshd \
-s /bin/false \
-u 50 sshd
这里,
- -r:创建系统用户
- -c:添加评论
- -d:指定目录
- -s:指定用户的shell
- -u:创建一个 UID 50 的新用户 sshd
从 OpenSSH 提供的 HTTP 镜像下载并配置 OpenSSH tarball。截至 2021 年 8 月,版本 8.7 是最新版本,但您可以下载任何更新的版本(如果有)。
wget -c -q https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.7p1.tar.gz
tar -xzf openssh-8.7p1.tar.gz && cd openssh-8.7p1
./configure –with-md5-passwords –with-pam –with-selinux –with-privsep-path=/var/lib/sshd/ –sysconfdir=/etc/ssh
最后,使用 make 命令安装项目。
make
sudo make install
要验证安装,请运行:
ssh -V