OpenSSH升级
1、基础准备
官方网站下载最新版*.tar.gz安装包:
官方下载地址:http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
openssh-9.0p1.tar.gz (注意:要下载p1版,此版为编译安装包)
官方下载地址:https://www.openssl.org/source/
openssl-1.1.1o.tar.gz
官方下载地址: http://www.zlib.net/
zlib-1.2.12.tar.gz
2、系统环境
查看openssl版本(可以看到版本信息和安装位置)
openssl version -a
3、升级openssh的步骤
1)、解压升级包
tar xzvf openssh-9.0p1.tar.gztar xzvf openssl-1.1.1o.tar.gztar xzvf zlib-1.2.12.tar.gz
2)、编译安装zlib
cd zlib-1.2.12./configure --prefix=/usr/local/zlib编译zlib出错,请安装gcc yum install gccmake && make installecho '/usr/local/zlib/lib' >> /etc/ld.so.conf ldconfig -v
验证zlib安装是否成功,要包含include、lib、share三个目录。
3)、编译安装openssl
cd openssl-1.1.1o./config --prefix=/usr/local/ssl -d sharedmake && make install (时间比较长,切勿打断)echo '/usr/local/ssl/lib' >> /etc/ld.so.confldconfig -v
4)、升级openSSH(通过Telnet登录到服务器,务必)
停止ssh服务systemctl stop sshd备份ssh配置文件cp -r /etc/ssh /etc/ssh.old
查看系统原有openssh包
rpm -qa | grep openssh根据上面查询出的结果,卸载系统里原有Openssh(一般有三个包,全部卸载)rpm -e --nodeps xxxxxxxxxxrpm -e --nodeps openssh-server-7.4p1-21.el7.x86_64rpm -e --nodeps openssh-7.4p1-21.el7.x86_64rpm -e --nodeps openssh-clients-7.4p1-21.el7.x86_64卸载完成后执行rpm -qa | grep openssh,确保没有回显rpm -qa | grep openssh
5)、安装openssh
cd openssh-9.0p1./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/sslmake && make install
6)、sshd_config文件修改
echo 'PermitRootLogin yes' >>/usr/local/openssh/etc/sshd_configecho 'PubkeyAuthentication yes' >>/usr/local/openssh/etc/sshd_configecho 'PasswordAuthentication yes' >>/usr/local/openssh/etc/sshd_config
7)、备份原有文件,并将新的配置复制到指定目录
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bakcp /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_configmv /usr/sbin/sshd /usr/sbin/sshd.bakcp /usr/local/openssh/sbin/sshd /usr/sbin/sshdmv /usr/bin/ssh /usr/bin/ssh.bakcp /usr/local/openssh/bin/ssh /usr/bin/sshmv /usr/bin/ssh-keygen /usr/bin/ssh-keygen.bakcp /usr/local/openssh/bin/ssh-keygen /usr/bin/ssh-keygenmv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bakcp /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pubssh服务必须开机自启动,因此要进行一些设置cp -p contrib/redhat/sshd.init /etc/init.d/sshdchmod +x /etc/init.d/sshdchkconfig --add sshdchkconfig sshd on重启sshd服务systemctl restart sshd查看sshd服务状态systemctl status sshd -l验证ssh版本ssh -V--重启服务器,测试sshreboot
4、出错情况汇总
1)、编译zlib出错,请安装gcc
yum install gcc
2)、编译OpenSSL出错:缺少IPC/Cmd.pm模块
解决方法:安装perl-CPAN
yum install -y perl-CPAN
3)sshd更改默认端口后不起作用
修改/etc/sshd_config里的port后,用systemctl restart sshd、systemctl status sshd发现还是以前的端口;有的centos版本不一样,有的在/usr/local/openssh/etc/sshd_config里面,在这里改,重新systemctl restart sshd、systemctl status sshd就可以生效。
来源地址:https://blog.csdn.net/qq_29768197/article/details/125048720
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341