Chinaunix首页 | 论坛 | 博客
  • 博客访问: 138836
  • 博文数量: 10
  • 博客积分: 780
  • 博客等级: 军士长
  • 技术积分: 107
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-11 15:47
文章分类
文章存档

2013年(1)

2009年(1)

2007年(4)

2006年(4)

我的朋友

分类: LINUX

2006-11-11 16:22:55

我最近在安装一个基础操作系统,作为一个低空飞行得菜鸟,觉得有必要把我的辛苦安装过程记录一下,给有志于linux系统安装的其他菜鸟一些借鉴。
 
我采用的系统是社区版的REDHAT AS4U4 -> CentOS4.4。
 
采用了最简安装,只装了默认编辑器和默认开发工具,其他什么声音打印一概不要。
系统自带的安全模块OpenSSL是0.9.7d,OpenSSH是3.9p1。最新升级版是0.9.8d和4.4p1。觉得差距有点大,就企图更新了。当然在老手看来不一定必要,否则CentOS刚刚释放的4.4版怎么没升级呢?
 
没的说,先干掉这两个低版本安全模块:
rpm -e --nodeps openssh
rpm -e --nodeps openssl
清理一下垃圾:
find / -name openssl
会发现有一个/usr/include/openssl的目录里面都是*.h文件,备份一下
mv /usr/include/openssl /usr/include/oldssl
记住这个位置曾经有过openssl目录
find / -name libcrypto.so.4
find / -name libssl.so.4
以上这两个文件一般都会发现在lib目录里面而且是个符号连接指向libcrypto.so.0.9.7x和libssl.so.0.9.7x,但是已经断掉连接了。
rm了他们但是也要记住这两个文件,等新的ssl make install以后,要重建这两个符号连接到/usr/local/ssl/lib/libcrytpo.so.0.9.8去,不然白装!
 
先装zlib123
tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --shared 不要忘了shared这个参数。
make
make install
没有什么特别的就是后面的高版本ssh需要高版本zlib
下面开始安装ssl:
下载源代码包总不必多说了八^_^
tar -zxvf openssl-0.9.8d.tar.gz (当时最新版本0.9.8d)
cd openssl-0.9.8d
./config shared 一定要带共享参数哦
make
make test
make install
这样ssl就装在/usr/local/ssl里面啦
后期加工
ln -s /usr/local/ssl/lib/libcrytpo.so.0.9.8 /lib/libcrypto.so.4
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /lib/libssl.so.4

*上次居然少了以下两行,害人啊×
ln -s /usr/local/ssl/lib/libcrytpo.so.0.9.8 /usr/lib/libcrypto.so
ln -s /usr/local/ssl/lib/libssl.so.0.9.8 /usr/lib/libssl.so

ln -s /usr/local/ssl/include/openssl /usr/include/openssl
还记得这个位置的openssl目录吗,现在用新的来替代它了。
最后要刷新系统的动态连接库配置
echo /usr/local/ssl/lib >> /etc/ld.so.conf
ldconfig -v 这个命令看上去很有用的

开始装ssh:
tar -zxvf openssh-4.4p1.tar.gz (当时的最新版)
cd openssh-4.4p1
./configure --with-ssl-dir=/usr/local/ssl --with-zlib --with-pam --with-md5-passwords --with-selinux --with-kerberos5
*^_^*安全参数多多益善,还不知道怎么用咧
make
make install
看看自己的ssl/ssh版本号对不对:
ssh -V
如果没有问题,那么OpenSSH就被安装在/etc/local里面了,所有有关OpenSSH的配置文件都放在/usr/local/etc目录下,修改配置文件/usr/local/etc/sshd_config
vi /usr/local/etc/sshd_config
把以下参数前面的注释#去掉
Port 22
Protocol 2,1
ListenAddress 0.0.0.0
HostKey /usr/local/etc/ssh_host_key
HostKey /usr/local/etc/ssh_host_rsa_key
HostKey /usr/local/etc/ssh_host_dsa_key
SyslogFacility AUTH
LogLevel INFO
PermitRootLogin yes (重要,不然你root不给ssh多傻啊)
RhostsRASAuthentication no
IgnoreRhosts yes
UsePrivilegeSeparation yes

最后修改一下/etc/init.d/sshd 不然不能启动
以下参数是和原来不一样的,主要是路径改变了
==============================================
#[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
KEYGEN=/usr/local/bin/ssh-keygen
SSHD=/usr/local/sbin/sshd
RSA1_KEY=/usr/local/etc/ssh_host_key
RSA_KEY=/usr/local/etc/ssh_host_rsa_key
DSA_KEY=/usr/local/etc/ssh_host_dsa_key
PID_FILE=/var/run/sshd.pid
删除/etc/rc.d/rc3.d/S55sshd这个指向不对的符号连接,重建正确的:
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S55sshd
这个连接完成ssh的自动启动
启动ssh:
/etc/init.d/sshd start
现在linux的两大基本传输安全模块搞定了!
阅读(3982) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~