如何在Linux中从Source安装OpenSSH Server

在本文中,我们将解释如何从源系统在Linux系统上安装和配置最新版本的OpenSSH服务器和客户端。

OpenSSH是一个免费的开源,完全实现了SSH协议2.0 它提供了许多工具,用于安全地访问和管理远程计算机系统,以及管理身份验证密钥,例如ssh(安全替代tenet), scpsftp (安全替换ftp ),ssh-keygen,ssh-copy-id ,ssh-add等等。

最近发布了OpenSSH 7.9 ,并附带了许多新功能和错误修复; 您可以阅读发行说明以获取更多信息。

另请参阅如何从Linux中的存储库安装OpenSSH服务器

在本文中,我们将解释如何从源系统在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

在Linux中安装OpenSSH Server和Client

在安装最新版本的SSH之前,请确保使用以下命令检查系统上安装的SSH的当前版本。

$ ssh -V

OpenSSH_7.7p2 Ubuntu-4ubuntu2.5, OpenSSL 1.0.2g	1 Mar 2016

从上面的结果来看,安装的OpenSSH版本是7.7 ,要安装最新的OpenSSH版本,首先需要安装一些依赖项,即开发工具或构建必需品以及其他所需的软件包,如下所示。

-------------- CentOS/RHEL 7/6 --------------
$ sudo yum group install 'Development Tools' 
$ sudo yum install zlib-devel openssl-devel

-------------- Fedora 22+ --------------
$ sudo dnf group install 'Development Tools' 
$ sudo dnf install zlib-devel openssl-devel

-------------- Debian/Ubuntu --------------
$ sudo apt update 
$ sudo apt install build-essential zlib1g-dev libssl-dev 

要为安装OpenSSH V7.9服务器创建合适的环境,我们需要创建一个名为“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 - 指定users目录
  • -c - 用于添加注释
  • -s - 指定用户的shell

现在,从任何可用的HTTP镜像下载OpenSSH版本7.9的tarball,或者您可以使用以下wget命令直接在终端中下载。

$ wget -c https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.9p1.tar.gz
$ tar -xzf openssh-7.9p1.tar.gz
$ cd openssh-7.9p1/

现在我们将使用--with-md5-passwords , - --with-privsep-path--sysconfdir选项构建和安装OpenSSH服务器,它将安装/ usr / local /中的所有文件(这是默认安装PREFIX )。

您可以通过运行./configure -h查看所有可用选项,并进一步自定义安装。

$ ./configure -h

例如,要启用PAM和SELinux支持,分别添加-with-pam和-with-selinux选项,您需要安装所有必需的头文件才能使用它们。

$ ./configure --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh 
$ make
$ sudo make install 

安装OpenSSH后,打开另一个终端窗口并检查系统上现在安装的OpenSSH版本。

$ ssh -V

OpenSSH_7.9p1, OpenSSL 1.0.2g		1 Mar 2016

各种OpenSSH配置文件位于:

  • 〜/ .ssh / * - 此目录存储用户特定的ssh客户端配置(ssh别名)和密钥。
  • / etc / ssh / ssh_config - 此文件包含系统范围的ssh客户端配置。
  • / etc / ssh / sshd_config - 包含sshd服务配置。

要配置ssh别名,请参阅: 如何配置自定义SSH连接以简化远程访问

您可能还想阅读以下SSH相关文章。

  1. 如何在Linux中创建SSH隧道或端口转发
  2. 如何在Linux中将默认SSH端口更改为自定义端口
  3. 在Linux中加速SSH连接的4种方法
  4. 如何在Linux中查找所有失败的SSH登录尝试
  5. 如何在Linux中禁用SSH root登录

而已! 在本文中,我们已经解释了如何在Linux系统上安装和配置最新版本的OpenSSH服务器和客户端。 如果您有任何问题或意见,请使用下面的反馈表与我们联系。