RSS
热门关键字:
当前位置 : 主页>网络方案>安全技术>列表

Linux系统中OpenSSH的安装和配置(1)

来源:我要研发网 作者:我要开发网.搜集 时间:2008-06-01 点击:




  概述 

许多网络程序,如telnet、rsh、rlogin或rexec,用明文(plain text)传送口令和秘密的信息,所以就可利用任何连接到网络上的计算机监听这些程序和服务器之间的通信并获取口令和秘密信息。现在,telnet程序对于日常的管理工作是必不可少的,但是它又是不安全的,那么用什么来替代它呢?OpenSSH就是那些过时的、不安全的远程登录程序,如:telnet、rlogin、rsh、rdist或rcp的替代品。 

在OpenSSH的README文件中提到:ssh(Secure Shell)程序可以通过网络登录到远程主机并执行命令。它提供了很强的安全验证可以在不安全的网络中进行安全的通信。 

我们把OpenSSH配置成支持TCP-Wrappers(inetd超级服务器),这样能够进一步地提高安全性而且也没有必要把OpenSSH作为守护进程(daemon)在后台运行。当客户端的程序提出连接请求的时候,TCP-Wrappers守护进程就会在把连接重定向到OpenSSH之前,对连接请求进行验证和授权。OpenSSH是自由软件而且使用不受专利保护的加密算法。因此,我建议你使用OpenSSH(免费而且修正了一些bug),而不使用SSH1(免费但是有bug)和SSH2(现在使用商用的许可协议)。 

注意事项 

下面所有的命令都是Unix兼容的命令。  字串9

源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。 

安装在RedHat Linux 6.1和6.2下测试通过。 

要用“root”用户进行安装。 

OpenSSH的版本是1.2.3。 

软件包的来源 

OpenSSH的主页:http://violet.ibs.com.au/openssh/。 

下载:openssh-1.2.3.tar.gz。 

准备工作 

编译OpenSSH需要zlib-devel软件包,这个软件包包括头文件和函数库。编译使用zlib的压缩和解压函数的程序,就要事先安装这个软件包。可以用RedHat 6.1或6.2的光盘安装。 

l 用下面的命令验证一下在系统中是否已经安装了zlib-devel软件包: 

[root@deep /]# rpm -qi zlib-devel 

l 用下面命令在系统中安装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 ################################################## 
字串9


[root@deep RPMS]# cd /; umount /mnt/cdrom/ 

在使用OpenSSH之前,还必须安装OpenSSL。因为就算你不使用OpenSSL创建或保存加密文件,OpenSSH需要用OpenSSL的库文件才能正常运行。 

安装软件包需要注意的问题 

最好在编译前和编译后都做一张系统中所有文件的列表,然后用“diff”命令去比较它们,找出其中的差别并知道到底把软件安装在哪里。只要简单地在编译之前运行一下命令“find /* >OpenSSH1”,在编译和安装完软件之后运行命令“find /* > OpenSSH2”,最后用命令“diff OpenSSH1 OpenSSH2 > OpenSSH-Installed”找出变化。 

编译和安装 

把软件包(tar.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" \  字串4

./configure \ 

--prefix=/usr \ 

--sysconfdir=/etc/ssh \ 

--with-tcp-wrappers \ 

--with-ipv4-default \ 

--with-ssl-dir=/usr/include/openssl 

这些设置告诉编译器如何编译OpenSSH: 

l 链接上libwrap函数库并且加上对TCP Wrappers的支持 

l 禁止Linux/glibc-2.1.2中域名解析的延时,缩短建立连接的时间 

l 设置OpenSSL函数库的路径,这样OpenSSH才能正常运行 

第二步 

现在,编译和安装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 

“make”命令把源文件编译成可执行的二进制文件,“make install”把二进制文件和配置文件安装在合适的目录下。“make host-key”生成主机密匙,“install”命令在RedHat Linux上安装对OpenSSH的PAM支持。 

清除不必要的文件 

用下面的命令删除不必要的文件: 

[root@deep /]# cd /var/tmp 

字串8



[root@deep tmp]# rm -rf openssh-version/ openssh-version.tar.gz 

“rm”命令删除所有编译和安装OpenSSH所需要的源程序,并且把OpenSSH软件的压缩包删除掉。 

配置 

可以到这去下载“floppy.tgz”文件:http://www.openna.com/books/floppy.tgz。把“floppy.tgz”文件解开之后,可以在相应的目录下发现我们在这本书中介绍的所有软件的配置文件。这样就没有必要手工重新生成这些文件,或者用拷贝粘贴的方法把它们粘贴到配置文件中去。不管是打算自己动手生成配置文件还是拷贝现成的,你都要学会自己修改配置文件并且把配置文件拷贝到正确的目录下。下面将具体说明。 

为了运行OpenSSH,必须创建或者把下面的文件拷贝到相应的目录下: 

l 把“sshd_config”文件拷贝到“/etc/ssh”目录下 

l 把“ssh_config”文件拷贝到“/etc/ssh”目录下 

l 把“ssh”文件拷贝到“/etc/pam.d/”目录下 

可以把“floppy.tgz”解压之后,找到上面列出来的文件,并拷贝到合适的目录下,或者用拷贝粘贴的方法从本书中直接粘贴出。 
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
相关文章