升级OpenSSH
背景:
os:centos7.9
安装telnet,防止升级导致ssh无法连接
#检查是否安装telnet
rpm -q telnet-server 或 rpm -q telnet
有版本返回则说明已安装,否则未安装进行如下操作
#安装telnet
yum -y install telnet*
systemctl enable telnet.socket
systemctl start telnet.socket
#关闭安全文件
mv /etc/securetty /etc/securetty.bak
#开放23端口
firewall-cmd --zone=public --add-port=23/tcp --permanent
#重启防火墙
systemctl restart firewalld.service
#查看当前开放端口
firewall-cmd --zone=public --list-ports
#查看ssh版本
ssh -V
开始安装
#安装依赖包
yum -y install zlib*
yum -y install pam-*
yum -y install gcc
yum -y install openssl-devel
#备份原有ssh服务版本
mv /etc/ssh /etc/ssh.bak
mv /usr/bin/ssh /usr/bin/ssh.bak
mv /usr/sbin/sshd /usr/sbin/sshd.bak
#安装openssh
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.9p1.tar.gz
#解压
tar -zxvf openssh-8.9p1.tar.gz
#进入安装目录
cd openssh-8.9p1
#编译
./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/ssl
#安装
make && make install
#卸载由yum安装的openssh
yum remove openssh
#修改配置(见下图)
#复制文件到相应系统文件夹
cp /home/openssh-8.9p1/contrib/redhat/sshd.init /etc/init.d/sshd
chkconfig --add sshd
cp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
cp /usr/local/openssh/sbin/sshd /usr/sbin/sshd
cp /usr/local/openssh/bin/ssh /usr/bin/ssh
cp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygen
cp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
#启动
systemctl start sshd.service
#查看状态
systemctl status sshd.service
#关闭seLinux
修改/etc/selinux/config 文件中的SELINUX=enforcing 修改为 SELINUX=disabled
或
setenforce 0
#查看ssh版本
ssh -V