Linux系统中OpenSSH的安装和配置(转)
概述
许多网络程序,如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兼容的命令。
源路径都为“/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
##################################################
[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"
./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
[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”解压之后,找到上面列出来的文件,并拷贝到合适的目录下,或者用拷贝粘贴的方法从本书中直接粘贴出。
配置“/etc/ssh/ssh_config”文件
“/etc/ssh/ssh_config”文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(ssh
(1))可以得到详细的列表。
编辑“ssh_config”文件(vi
/etc/ssh/ssh_config),添加或改变下面的参数:
#
Site-wide
defaults
for
various
options
Host
*
ForwardAgent
no
ForwardX11
no
RhostsAuthentication
no
RhostsRSAAuthentication
no
RSAAuthentication
yes
PasswordAuthentication
yes
FallBackToRsh
no
UseRsh
no
BatchMode
no
CheckHostIP
yes
StrictHostKeyChecking
no
IdentityFile
~/.ssh/identity
Port
22
Cipher
blowfish
EscapeChar
~
下面逐行说明上面的选项设置:
Host
*
选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。
ForwardAgent
no
“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。
ForwardX11
no
“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY
set)。
RhostsAuthentication
no
“RhostsAuthentication”设置是否使用基于rhosts的安全验证。
RhostsRSAAuthentication
no
“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。
RSAAuthentication
yes
“RSAAuthentication”设置是否使用RSA算法进行安全验证。
PasswordAuthentication
yes
“PasswordAuthentication”设置是否使用口令验证。
FallBackToRsh
no
“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。
UseRsh
no
“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。
BatchMode
no
“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。
CheckHostIP
yes
“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。
StrictHostKeyChecking
no
“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。
IdentityFile
~/.ssh/identity
本文来自:http://www.linuxpk.com/40307.html
-->linux电子图书免费下载和技术讨论基地
·上一篇: Linux核心安装
·下一篇: 在RedHat7.3下安装OracleDatabase9iR2
最新更新 |
|
|
|
·安装配置技巧:如何实现自动Logoff·MandrakeLinux安装(4)·MandrakeLinux安装(2)·Linux基本设置技巧:如何限制只有0组的用户可以su成root·Linux基本设置技巧:如何在console顶部显示当前时间·Linux基本设置技巧:如何限制用户的最小密码长度·安装配置技巧:如何使特定用户具有smbmount上的目录的写权限·安装配置技巧:tcsh如何用当前路径作提示符·安装配置技巧:如何在consol下定义快捷·如何修改grub的安装位置·Linux基本设置技巧:如何使非root用户都不能远程登录·Linux基本设置技巧:如何用lilo引导不同的运行级别·Samba的安装·新手入门之——Linux学习基础·Linux下中文字体的安装·Fedora软件包管理器system-config-packages·Linux查看磁盘分区等命令和相关工具介绍·Linux如何编译安装源码包软件·华硕A2C笔记本安装SUSE9.3pro小结·Linux发行版制作过程中的各个步骤·FedoraCore5安装后的快速配置·Fedora4.0中用VMware安装和使用Windows·安装配置-安装SuseLinux10·VMware虚拟安装FedoraCore4.0手册·SlackwareLinux的安装之关於Linux的硬体drivers·如何在硬碟建置Linux系统之指定安装目的分割区·如何在硬碟建置Linux系统之指定安装来源(Source)·RedHatLinux新手入门教程(5)·RedHatLinux新手入门教程(4)·RedHatLinux新手入门教程(1) |
|
关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 网址大全 | 友情链接 | 免费注册 |
|
|
Copyright © 2004 - 2007 All Rights Reserved 来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14102/viewspace-116927/,如需转载,请注明出处,否则将追究法律责任。
上一篇: Linux核心安装(转)
下一篇: Linux_FAQ之一:系统安装(转)
<%if(items[i].items.items.length) { %>
<%}%> <%}%>
最新文章
- Solaris 图形窗口配置(转)
- WPSOffice双面文档打印边距设置(转)
- OfficeWord2007图片编辑功能使用教程(转)
- IE技巧两则(转)
- 用Iproute2配置隧道(转)
- 用FAQGenie迅速制作“常见问答”网页(转)
- openoffice2.0输出带多级书签的PDF文档(转)
- WordXP巧画禁烟标志(转)
- Linux中防御垃圾邮件的方法(转)
- Excel:轻松查看数据记录(转)
|