【Linux】OpenSSH升级9.7

最近公司项目上扫出来的漏洞需要升级ssh到9.7版本,这里记录下升级的流程。

安装包下载链接
http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
https://www.openssl.org/

升级最新的openssh需要ssl的版本匹配,这个根据实际操作系统上的版本确定,我这里是需要先升级ssl

注意

需要多开一个至多个保持长连接,以免升级出错导致远程不上。

一、升级Opnessl

1.1安装依赖

yum install -y perl-CPAN 
yum install -y perl-IPC-Cmd 
yum install -y gcc*

1.2安装

#备份原来的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

1.3 验证版本

openssl version

二、升级Openssh

2.1 安装依赖

yum install gcc  perl zlib-devel openssl-devel pam-devel libselinux-devel zlib-devel openssl-devel -y 

2.2 安装软件

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

2.3验证版本

chkconfig --add sshd 
chkconfig sshd on
systemctl restart sshd
#验证版本
ssh -V

三、出现的问题

3.1 Xshell直接跳转Xftp失败

sshd_config配置文件问题。

Subsystem      sftp   internal-sftp

3.2 scp不能使用

权限问题

3.3 lftp不能使用

同3.4处理

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

修改脚本时间,等待脚本自动执行。

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值