当前位置:   article > 正文

【Linux】OpenSSH升级9.7

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
  • 3

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

1.3 验证版本

openssl version
  • 1

二、升级Openssh

2.1 安装依赖

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

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

2.3验证版本

chkconfig --add sshd 
chkconfig sshd on
systemctl restart sshd
#验证版本
ssh -V
  • 1
  • 2
  • 3
  • 4
  • 5

三、出现的问题

3.1 Xshell直接跳转Xftp失败

sshd_config配置文件问题。

Subsystem      sftp   internal-sftp
  • 1

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
  • 1

②在具体脚本内加上如下内容:

#!/bin/bash
. /etc/profile
. ~/.bash_profile
source /home/zz/.bash_profile

  • 1
  • 2
  • 3
  • 4
  • 5

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/682664
推荐阅读
相关标签
  

闽ICP备14008679号