fedroa20中将ssh,ssl升级到当前最新版本
Fedroa20下手工安装openssh-server
本例以Fedroa20为例,需要下载:zlib-1.2.8.tar、openssl-1.0.2e.tar、 openssh-7.1p1.tar。注意openssh-7.1.tar 下载下来没有config文件是不对的
一 安装zlib库
1、 首先解压安装zlib:tar -xf zlib-1.2.8.tar
2、 # tar xzvf zlib-1.2.8.tar.tar.gz
# cd zlib-1.2.8
# ./configure --prefix=/usr/local/zlib
# make
# make install
这样,就把 zlib 编译安装在 /usr/local/zilib 中了。
3、 制作升级包
cp -r /usr/local/zlib/* zlib_up/
tar -cvf zlib_up.tar zlib_up
zlib 是通用的压缩库,提供了一套 in-memory 压缩和解压函数,并能检测解压出来的数据的完整性(integrity),具体在ssl中作用不清楚
二 升级ssl
1、解压升级
#tar xvf openssl-1.0.2e.tar
#cd openssl-1.0.2e
# ./Config --shared zlib-dynamic
#make
#make test (这一步是进行 SSL 加密协议的完整测试,如果出现错误就要一定先找出原因,否则一味继续可能导致
SSH 不能使用!)
#make install
2、测试
#ldconfig -v 刷新缓存文件/etc/ld.so.cache
#openssl version –a 查看版本号,发现版本号还没升级
3、查看库文件
#ldd /usr/bin/openssl
linux-gate.so.1 => (0xb7743000)
libssl.so.10 => /lib/libssl.so.10 (0xb76b9000)
4 拷贝升级
#cp -dp /apps/openssl /usr/bin/openssl
#cp -dp libssl.so* /usr/local/ssl/lib/
#cp -dp libcrypto.so* /usr/local/ssl/lib/
5 再次检查
#openssl version –a 查看版本号成功
#openssl genrsa -des3 -out server.key 1024 验证是否可用生成key值
Ssl升级开始不成功,后来将拷贝bin,lib,配置文件,发现成功。大部分升级都是这三个配置文件。不知道有没有更好的检查是否升级成功的办法,目前看是升级成功了
三 安装ssh文件
# tar xzvf openssh-7.1p1.tar
# cd openssh-4.5p1
# ./configure --prefix=/usr
--sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib
--with-ssl-dir=/usr/local/openssl --with-md5-passwords
出现的错误如下
1、 configure 时提示 PAM 有错误,那一般是因为系统中没有安装 pam-devel RPM 包,找到安装光盘,安装 pam-devel 就可以解决啦)
#rpm –ivh pam-devel…
2、禁止root用户远程登陆:修改PermitRootLogin,默认为yes且注释掉了;修改
是把注释去掉,并改成no。
3、修改权限ssh_host_rsa_key和ssh_host_ecdsa_key,修改为600,
4 验证方式不支持, 如客户端登录时提示如下:
[www.linuxidc.com@CentOS-6-37 ~]$ ssh monitor@192.168.1.5
Permission denied (publickey,keyboard-interactive).
解决方法:
设置sshd的配置文件(sshd_config)的这条配置:PasswordAuthentication yes
然后重启服务:service sshd restart
5 在最后一步报错: Privilege separation user sshd does not exist
解决方法:
#vi /etc/passwd
插入: sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
再次make install 编译安装成功。检查ssh服务是否启动:# ssh –v