赞
踩
最近公司项目上扫出来的漏洞需要升级ssh到9.7版本,这里记录下升级的流程。
安装包下载链接
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
https://www.openssl.org/
升级最新的openssh需要ssl的版本匹配,这个根据实际操作系统上的版本确定,我这里是需要先升级ssl
需要多开一个至多个保持长连接,以免升级出错导致远程不上。
yum install -y perl-CPAN
yum install -y perl-IPC-Cmd
yum install -y gcc*
#备份原来的ssl cp /usr/bin/openssl openssl_bak #解压压缩包至/usr/local makir openssl tar -zxvf openssl-xxx.tar.gz cd openssl-xxx ./config --prefix=/usr/local/openssl #下面这条命令执行时间较久,属于正常情况。 make && make install ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib64/libssl.so.3 ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib64/libcrypto.so.3 chmod +777 /usr/local/openssl/lib64 chmod +777 /usr/local/openssl ldconfig -v ldd /usr/local/openssl/bin/openssl
openssl version
yum install gcc perl zlib-devel openssl-devel pam-devel libselinux-devel zlib-devel openssl-devel -y
cd /usr/local #备份原来的openssh,我得是在/usr/local/openssh mv /usr/local/openssh /usr/local/openssh_bak cp /usr/bin/ssh /usr/bin/ssh.bak cp /usr/sbin/sshd /usr/sbin/sshd.bak mkdir openssh tar -zxvf openssh_9.7p1.tar.gz cd openssh_9.7p1 # with-ssl-dir 是ssl的安装目录 ./configure --prefix=/usr/local/openssh --with-zlib=/usr/local/zlib --with-ssl-dir=/usr/local/openssl make && make install #卸载掉之前用yum安装的openssh版本。 yum remove openssh #修改配置文件 vim /usr/local/openssh/etc/sshd_config PermitRootLogin yes PubkeyAuthentication yes PasswordAuthentication yes Subsystem sftp internal-sftp #退出vim cp /usr/local/openssh-9.7p1/contrib/redhat/sshd.init /etc/init.d/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 #我的是生产环境,配置文件权限 chmod +777 /usr/local/openssh chmod +777 /usr/local/openssh/bin
chkconfig --add sshd
chkconfig sshd on
systemctl restart sshd
#验证版本
ssh -V
sshd_config配置文件问题。
Subsystem sftp internal-sftp
权限问题
同3.4处理
脚本内容可能涉及lftp远程电脑,
①需要在环境变量文件(~/.bash_profile)的PTATH后加上Openssh的路径,
Openssh的sshd_config文件中会有具体的路径显示如下:
:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/openssh/bin
②在具体脚本内加上如下内容:
#!/bin/bash
. /etc/profile
. ~/.bash_profile
source /home/zz/.bash_profile
修改脚本时间,等待脚本自动执行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。