注意:升级openssh版本有风险,升级过程中不能中断!否则服务器有失联的风险。使用VPN连接远程操作的,网络不稳定的请勿操作。
按本教程操作,网络稳定的情况下,99%的都会成功。
网上很多教程先安装telnet服务,本文省略,有需要的自己查。telnet需要额外的端口,默认23,一般有升级openssh需求的都是为客户服务的,开放端口很难很难,意义不大。(服务器失联后联系客户都有办法解决,没必要跑路~)
服务器上需要安装gcc等工具,服务器没有安装的,可以下载rpm包或者挂载iso镜像安装。
1、编译openssl
yum update openssl openssh -y yum install vim gcc gcc-c++ glibc make autoconf openssl-devel pcre-devel pam-devel zlib-devel rsync -y yum install pam* zlib* -y cd /opt curl -O https://dev.owmlab.com/openssh/openssl-1.1.1k.tar.gz curl -O https://dev.owmlab.com/openssh/openssh-8.6p1.tar.gz tar -zxvf openssl-1.1.1k.tar.gz tar -zxvf openssh-8.6p1.tar.gz cd /opt/openssl-1.1.1k # 编译安装新版本的openssl ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl/openssl shared -fPIC make depend && make && make install echo '/usr/local/ssl/lib' >> /etc/ld.so.conf #添加函数库 ldconfig
2、安装openssh
ssh -V cd /opt/openssh-8.6p1 && chown -R root:root /opt/openssh-8.6p1 ## 需要注意,移除之后,不能退出当前终端,若退出,只能通过telnet连了 mv /etc/ssh /etc/ssh_bak ./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl --with-md5-passwords --with-zlib # --with-pam # 服务器有网的尽量加上此项 make && make install
echo " Protocol 2 SyslogFacility AUTHPRIV PermitRootLogin yes PasswordAuthentication yes ChallengeResponseAuthentication no # 启用UsePAM需要禁用selinux(启用UsePAM有ssh连接不上的风险,没配置好可以先不启用) # UsePAM yes # UseLogin no X11Forwarding yes # 开启公钥验证 PubkeyAuthentication yes " >> /etc/ssh/sshd_config
3、修改启动脚本
# 卸载原有ssh rpm -qa | grep openssh rpm -e --nodeps openssh-server # 提示警告 # 将警告中被修改的文件名字再改回来 mv /etc/ssh/sshd_config.rpmsave /etc/ssh/sshd_config mv /etc/ssh/ssh_config.rpmsave /etc/ssh/ssh_config mv /etc/ssh/moduli.rpmsave /etc/ssh/moduli # 如果UsePAM yes,sshd的pam文件需要存在 mv /etc/pam.d/sshd.rpmsave /etc/pam.d/sshd # 拷贝启动脚本 rsync -avb ./contrib/redhat/sshd.init /etc/init.d/sshd rsync -avb ./contrib/redhat/sshd.pam /etc/pam.d/sshd.pam chmod +x /etc/init.d/sshd ## 添加开机启动 chkconfig sshd on # 修改启动脚本(按本文教程此处不需要修改) vim /etc/init.d/sshd # 注意,根据你的实际情况修改 # SSHD=/usr/local/openssh/sbin/sshd ### 注意根据自身情况修改路径 #/usr/local/openssh/bin/ssh-keygen –A #/sbin/restorecon /etc/ssh/ssh_host_key.pub #/sbin/restorecon /etc/ssh/ssh_host_rsa_key.pub #/sbin/restorecon /etc/ssh/ssh_host_dsa_key.pub #/sbin/restorecon /etc/ssh/ssh_host_ecdsa_key.pub ## 替换相关命令,并重启sshd服务 rsync -avb /usr/local/openssh/bin/* /usr/bin/ rsync -avb /usr/local/openssh/sbin/* /usr/sbin/ service sshd restart #重启sshd服务 ## 有些报告提示scp有漏洞,可以删除或重命名(可选) mv /usr/bin/scp /usr/bin/scp_bak

新逸IT技术
扫一扫关注微信公众号
评论