#软件下载
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-8.3.tar.gz
wget http://www.zlib.net/zlib-1.2.11.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
1.安装telnet服务
yum install telnet-server* -y
#以下内容为新增完善的,将xinetd里的telnet服务启用
mv /etc/securetty /etc/securetty.old #允许root用户通过telnet登录
cat > /etc/xinetd.d/telnet <<EOF
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = no #启用telnet
}
<<EOF
service xinetd start #启动telnet服务
chkconfig xinetd on #使telnet服务开机启动,避免升级过程中服务器意外重启后无法远程登录系
###一定要测试telnet功能
2.编译安装zlib-1.2.11
#安装依赖包
yum install gcc gcc-c++ pam-devel zlib-devel -y
#编译安装zlib
tar zxf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr
make
rpm -e --nodeps zlib
make install
echo '/usr/lib' >> /etc/ld.so.conf
ldconfig
#执行以下yum list没问题就代表安装完成
3.编译安装openssl
#备份openssl文件
cp -r /etc/pki/ca-trust/extracted/openssl /etc/pki/ca-trust/extracted/openssl.old
cp -r /usr/lib64/openssl /usr/lib64/openssl.old
cp -r /usr/bin/openssl /usr/bin/openssl.old
cp -r /usr/include/openssl /usr/include/openssl.old
#注意这两个是库文件,也需要先备份一下
cp /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.10.old
cp /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.10.old
#卸载openssl
rpm -qa |grep openssl|xargs -i rpm -e --nodeps {}
#安装openssl
tar zxf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr --openssldir=/etc/ssl --shared zlib #shared 作用是生成动态连接库
make && make install
openssl version
3.编译安装openssh
#备份openssh文件
mv /etc/ssh /etc/ssh.old
#卸载openssh
#rpm -qa|grep openssh
#rpm -e --nodeps openssh-5.3p1-94.el6.x86_64
#rpm -e --nodeps openssh-server-5.3p1-94.el6.x86_64
rpm -qa |grep openssh|xargs -i rpm -e --nodeps {}
#安装openssh
tar zxf openssh-8.3p1.tar.gz
cd openssh-8.3p1
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-openssl-includes=/usr --with-privsep-path=/var/lib/sshd
make
make install
ssh -V
echo 'X11Forwarding yes' >> /etc/ssh/sshd_config
cp -p contrib/redhat/sshd.init /etc/init.d/sshd
chmod +x /etc/init.d/sshd
chkconfig --add sshd
chkconfig sshd on
chkconfig --list sshd
systemctl enable sshd
systemctl restart sshd
ssh -V
#版本回退,如需还原之前的ssh配置信息,可直接删除升级后的配置信息,恢复备份。
rm -rf /etc/ssh
mv /etc/ssh.old /etc/ssh
有时候我们还会遇到openssh已经升过级的情况,而且安装方式还是编译安装的,很明显上面的方式就不合适了
所以我们的的rpm -qa|grep ssh卸载方式那里需要换一下
find / -name ssh
一般会返回旧版本的安装路径,里面包含旧版本号的就是旧openssh的安装路径进入该路径执行cp -r /etc/ssh /etc/ssh.old 先做一个
微信扫描下方的二维码阅读本文