CentOS7.3 升级 openssh 到 openssh-7.5p1
一、升级 openssl 到 openssl-1.1.0e
1.升级 zlib
先到 http://www.gzip.org/zlib/下载最新的 zlib-1.2.8.tar.gz 安装包,并上传到服
务器,并解压。
#tar –zxvf zlib-1.2.8.tar.gz
#./configure - -prefix=/usr/local/zlib1.2.8
#make
#make install
以上命令是将 zlib 安装到/usr/local/zlib 目录。
2.检查原来的 openssl 版本
经过一番折腾,发现安装 openssl-1.1.0e 版后,openssh7.5p1 编译出现 sshkey.c 中有错误。
原来是 openssl 版本过高的原因。因此,请将 opensll 退回至 openssl-1.0.2k 版本。安装方法
一致,就不再改版本号了。安装方法如下:
tar zxvf openssl-1.1.0e.tar.gz
cd openssl-1.1.0e/
./config --prefix=/usr/local/openssl-1.1.0e
--shared
make
make test
make install
mv /usr/bin/openssl /usr/bin/openssl_bak
ln -s /usr/local/openssl-1.1.0e/bin/openssl /usr/bin/openssl
下面这两句不用做,因为压根就没有/usr/include/openssl 文件夹
mv /usr/include/openssl /usr/include/openssl_bak
ln -s /usr/local/openssl-1.1.0e/include/openssl/ /usr/include/openssl
echo "/usr/local/openssl-1.1.0e/lib" >> /etc/ld.so.conf
chmod 755 -R /usr/local/openssl_1.0.2j/
ldconfig -v
openssl version –a
出现如下错误:
处理方法:创建符号链接
二、升级 openssh 到 openssh-7.5p1
#mv /etc/ssh/ /etc/ssh_bak
#mv /etc/init.d/sshd /etc/init.d/sshd_bak
#rpm -qa | grep openssh
依次删除这些包。
#rpm -e openssh-clients --nodeps
#rpm -e openssh-server --nodeps
#rpm -e openssh --nodeps
安装:
cd ..
tar zxvf openssh-7.5p1.tar.gz
cd openssh-7.5p1/
#./configure
--prefix=/usr
--sysconfdir=/etc/ssh
--with-zlib=/usr/local/zlib-1.2.11/
--with-ssl-dir=/usr/local/openssl_1.0.2j/
--with-md5-passwords
--with-pam
--mandir=/usr/share/man
#make && make install
如果出现:configure: error: PAM headers not found 的错误,请 yum install pam-devel。
下面这些不用做,似乎也能工作正常。
#cp -f contrib/redhat/sshd.init /etc/init.d/sshd
#vi /etc/init.d/sshd
将其中的 SSHD=/usr/sbin/ssh 修改成如下:
sed -i '/\/sbin\/restorecon\ \/etc\/ssh\/ssh_host_key.pub/s/^/#/' /etc/init.d/sshd
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
#vi /etc/profile
添加:
PATH=/usr/local/openssh-7.5p1/bin:$PATH
export PATH
#service sshd restart
#ssh -V