【Linux】openssh内网环境下升级

因公司多数环境处于内网中,无法联网更新,本篇内容主要讲内网更新方法。本篇内容虽经过多次实测,但建议参照本篇升级时先在测试环境进行验证。

所需环境:

本地搭建可连接网络的测试环境,供下载相关的依赖包

一、查看当前机器的版本号

ssh -V

二、了解当前最新openssh与对应兼容的openssl版本信息

OpenSSHthe main OpenSSH pageicon-default.png?t=N7T8https://www.openssh.com/

以下可以看到最新的是openssh9.4版本,其对应的openssl版本是 >= 1.1.1


三、下载对应的openssh、openssl包

openssh : Index of /pub/OpenBSD/OpenSSH/portable/icon-default.png?t=N7T8https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/

openssl : /source/old/1.1.1/index.htmlicon-default.png?t=N7T8https://www.openssl.org/source/old/1.1.1/


四、下载openssh相关依赖包

#该命令是下载rpm包到指定目录中,以下命令的意思是下载zlib、zlib-devel、openssl-devel、pam-devel相关包到/usr/local/powersmart/ssl目录下
yum install --downloadonly --downloaddir=/usr/local/powersmart/ssl zlib zlib-devel openssl-devel pam-devel

后面在进行编译openssh时,缺失包就在下载对应的包即可,这里只是列了常用所需的依赖包,如果服务器上没有gcc的话,还需要加上gcc 、gcc++

五、编译安装dropbear(可选)

dropbear是一款轻量级的ssh工具,安装这个工具主要是防止升级openssh的过程中出现问题后,导致我们无法在连接我们的服务器,保险起见建议安装。

5.1 下载dropbear

Index of /dropbearicon-default.png?t=N7T8https://matt.ucc.asn.au/dropbear/

5.2 解压dropbear文件
 tar jxvf dropbear-2022.82.tar.bz2

5.3 编译安装dropbear
cd dropbear-2022.82
./configure
make  && make install

5.4 配置dropbear,生成密钥
mkdir /etc/dropbear
/usr/local/bin/dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
/usr/local/bin/dropbearkey -t rsa -s 4096 -f /etc/dropbear/dropbear_rsa_host_key

5.5 启动dropbear,注意启动后需要开放2222端口访问权限
/usr/local/sbin/dropbear -p 2222

#要是服务器有防火墙的话要打开,且要保存iptables策略,这里就不做演示了。
iptables -I INPUT -p tcp --dport 2222 -j ACCEPT

5.6 登录验证

六、编译安装openssl

6.1 解压openssl
tar -zxvf openssl-1.1.1p.tar.gz

6.2 编译openssl
#该命令是编译到/usr/local/openssl_1_1_1_p下,这里建议openssl以其版本号命名,我是1.1.1p版本,所以命名为openssl_1_1_1_p
./config --prefix=/usr/local/openssl_1_1_1_p

6.3 安装openssl
#编译成功后,执行安装命令
make && make install

6.4 备份旧版openssl
mv /usr/bin/openssl /usr/bin/openssl.bak

6.5 建立软链接
ln -sf /usr/local/openssl_1_1_1_p/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl_1_1_1_p/lib" >> /etc/ld.so.conf
ldconfig -v

6.6 验证版本
openssl version

七、编译安装openssh

7.1 强制安装所有相关rpm依赖包,也可以逐个安装,我这里图省事
rpm -Uvh  *.rpm  --nodeps  --force 

7.2 解压openssh
tar -zxvf openssh-9.4p1.tar.gz

7.3 编译openssh,注意替换自己的ssl的目录,即--with-openssl-includes、--with-openssl-includes两个参数替换
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords --with-tcp-wrappers --with-openssl-includes=/usr/local/openssl_1_1_1_p/include --with-openssl-includes=/usr/local/openssl_1_1_1_p

小tips:使用命令 echo $? 可以检查编译是否异常,0正常否则异常

7.4 安装openssh
make && make install

7.5 验证ssh启动是否会存在异常
sshd -T

我这里显示有三个文件是没有权限的,对这三个进行授权

chmod 600 /etc/ssh/ssh_host_rsa_key
chmod 600 /etc/ssh/ssh_host_ecdsa_key
chmod 600 /etc/ssh/ssh_host_ed25519_key

授权后在sshd -T 确认是否还有其他问题

此处查看无报错信息后进行下一步

7.6 配置root登录
cd /etc/ssh/
vi sshd_config
#PermitRootLogin yes   去掉#

7.7 重启ssh服务
重启
service sshd restart

7.8 重新连接测试验证版本号
ssh -V

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值