在我们的配置中,我们配置了 OpenSSH 以支持 tcp-wrappers;inetd 超级服务器,以提高这个已经很安全的程序的安全性,并避免始终在服务器后台运行其守护进程。这样,程序只会在客户端连接到达时运行,并将它们重定向到 TCP-WRAPPERS 守护进程,以便在允许连接进入服务器之前进行身份验证和授权。
OpenSSH 是 SSH1 的免费替代品和改进版本,所有受专利保护的算法都已移除到外部库中,所有已知的安全漏洞都已修复,重新引入了新功能以及许多其他的清理工作。建议您使用 OpenSSH 免费且修复了安全漏洞,而不是 SSH1 免费、有漏洞且老旧 或最初免费但现在已获得商业许可的 SSH2。对于使用 Datafellows 公司 SSH2 的用户,我们将在本书中提供这两个版本,首先从 OpenSSH 开始,因为它是新的 SSH 程序,我们建议每个人都必须在未来迁移到它。
这些安装说明假设
命令与 Unix 兼容。
源路径是/var/tmp-其他路径是可能的。
安装在 Red Hat Linux 6.1 和 6.2 上进行了测试。
安装中的所有步骤都将在超级用户 root 帐户下进行。
OpenSSH 版本号为 1.2.3
这些是您可以从 OpenSSH 首页下载的软件包:http://www.openssh.com 并确保下载:openssh-1.2.3.tar.gz 截至撰写本文时
在安装 OpenSSH 之前,您需要注意一些先决条件,因为它要求 zlib-devel 软件包(其中包含开发使用 zlib 压缩和解压缩库的程序所需的头文件和库)已安装在您的系统上。如果不是这种情况,您必须从 Red Hat Linux 6.1 或 6.2 CD-ROM 安装它。要验证 zlib-devel 软件包是否已安装在您的 Linux 系统上,请使用以下命令
[root@deep] /#rpm -qi zlib-devel |
package zlib-devel is not installed
要在您的 Linux 系统上安装 zlib-devel 软件包,请使用以下命令
[root@deep] /#mount /dev/cdrom /mnt/cdrom/ [root@deep] /#cd /mnt/cdrom/RedHat/RPMS/ [root@deep ]/RPMS#rpm -Uvh zlib-devel-version.i386.rpm |
gd ##################################################
[root@deep ]/RPMS#rpm -Uvh gd-devel-version.i386.rpm |
zlib-devel ##################################################
[root@deep ]/RPMS# cd /; umount /mnt/cdrom/ |
: OpenSSL(它启用对 SSL 功能的支持)必须已安装在您的系统上,才能使用 OpenSSH 软件。有关 OpenSSL 服务器的更多信息,请参阅本书中的相关章节。即使您不需要使用 OpenSSL 软件来创建或保存加密密钥文件,但重要的是要注意,OpenSSH 程序需要其库文件才能在您的系统上正常工作。
您需要解压缩和解包 Tarball,但最好在安装 OpenSSH 之前和之后分别列出系统上的文件列表,然后使用 diff 命令比较它们,以找出它将哪些文件放置在何处。只需运行 find/* > OpenSSH1之前,以及 find/* > OpenSSH2在您安装软件之后,并使用 diffOpenSSH1 OpenSSH2 > OpenSSH-Installed以获取更改列表。
要编译,解压缩 tarballtar.gz和
[root@deep] /#cp openssh-version.tar.gz /var/tmp [root@deep] /#cd /var/tmp [root@deep ]/tmp#tar xzpf openssh-version.tar.gz |
您需要编译和优化
移动到新的 OpenSSH 目录并在您的终端上键入以下命令
CC="egcs" \ CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions" \ ./configure \ --prefix=/usr \ --sysconfdir=/etc/ssh \ --with-tcp-wrappers \ --with-ipv4-default \ --with-ssl-dir=/usr/include/openssl |
- 编译时链接 libwrap 并启用 TCP Wrappers/etc/hosts.allow|deny支持。 |
- 禁用 Linux/glibc-2.1.2 下名称解析中的长延迟,以改善连接时间。 |
- 指定 OpenSSH 程序工作所需的 OpenSSL 库的位置。 |
现在,我们必须在服务器上编译和安装 OpenSSH
[root@deep ]/openssh-1.2.3#make [root@deep ]/openssh-1.2.3#make install [root@deep ]/openssh-1.2.3#make host-key [root@deep ]/openssh-1.2.3#install -m644 contrib/redhat/sshd.pam /etc/pam.d/sshd |
命令会将所有源文件编译成可执行二进制文件,
会将二进制文件和任何支持文件安装到适当的位置。
命令将生成主机密钥。
命令将安装 Red Hat Linux 的 PAM 支持,它现在比流行的商业 ssh-1.2.x 软件包更强大。
请稍后进行清理
[root@deep] /#cd /var/tmp [root@deep ]/tmp#rm -rf openssh-version/ openssh-version.tar.gz |