linux 升级ssh6.7

1.升级openssh可能造成ssh协议无法登陆,所以先建立telnet
useradd -d /usr/user -m user/添加用户
passwd user//设置密码
vi /etc/sudoers 
找到
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
user  ALL=(ALL)       ALL
添加root权限


2.前期准备
wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz 
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.7p1.tar.gz


查看是否缺包
# rpm -qa | egrep "gcc|make|perl|pam|pam-devel"
如果有配置yum了的话可以直接yum安装这些包,这样既可以检验是否装了,没装的直接装上。
yum -y install gcc* make perl pam pam-devel


3.升级 Zlib
1、下载最新版本 Zlib
Zlib 官方网站:http://www.zlib.net/
目前最新版本的 Zlib 是 zlib-1.2.8.tar.gz


# cd /usr/local/src
# wget -c http://www.zlib.net/zlib-1.2.8.tar.gz
2、编译安装 Zlib


# tar xzvf zlib-1.2.8.tar.gz
# cd zlib-1.2.8
# ./configure --prefix=/usr/local/zlib
# make
# make install


4.升级ssl
(1).删除旧版本 rpm -e `rpm -qa | grep openssl` --allmatches --nodeps
ps:这一步会造成wget yum都不能使用了


(2)tar zxvf openssl-1.0.1j.tar.gz && cd openssl-1.0.1j.tar.gz //解压最新ssl


(3)安装openssl, 一定记得加上--shared选项, 否则openssh编译的时候会找不到新安装的openssl的library, 会报错: openssl的 header和library版本不匹配
# ./config --prefix=/usr --shared 
# make   
# make test 
# make install
(4) 完毕后查看openssl版本安装是否正确 openssl version -a


5.升级ssh
(1)备份ssh :# mv /etc/ssh /etc/ssh.bak
(2)tar zxf openssh-6.7p1.tar.gz && cd openssh-6.7p1 
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib=/usr/local/zlib  --with-md5-passwords
ps:如果报错请查看rpm包
make
make install


(3)安装完毕 查看 ssh -V 版本
(4)复制启动脚本到/etc/init.d
# cp /root/openssh-6.7p1/contrib/redhat/sshd.init /etc/init.d/sshd
加入开机自启
# chkconfig --add sshd
# chkconfig sshd on
# chkconfig sshd --list
(5) service sshd restart 重启服务


6.这个时候 yum wget会出错 
ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so.6
ln -s /usr/lib64/ibcrypto.so.1.0.0 /usr/lib64/libcrypto.so.6


自此升级完毕

ps:这之后会出sftp无法连接的情况,清空本地的秘钥,重新连接就ok了

你可能感兴趣的:(工具,ssh,6.7)