首页 > 其他分享 >openssh 9.5升级

openssh 9.5升级

时间:2024-03-06 16:46:40浏览次数:23  
标签:sshd -- openssh openssl 升级 usr 9.5 local


1、创建快照和备份
快照:ecs创建快照
备份: 
#!/bin/bash 
mkdir /root/sshd_bak;
cd /root/sshd_bak ;
for i in `rpm -qa |grep openssh`;do 
	echo "===>$i" 
	name=$(echo $i |cut -d'.' -f1)
	files=$(rpm -ql $i)
	tar zcvf ${name}.tar.gz ${files}
done
确认yum可用,在异常情况下方便重新安装ssh

[root@tmp1 openssh]# ssh -V #确认安装前版本
OpenSSH_8.0p1, OpenSSL 1.1.1k  FIPS 25 Mar 2021

2、安装telnet,确认可用
	yum install telnet-server xinetd
cat >> /etc/xinetd.d/telnet << EOF
service telnet
{
  flags = REUSE
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/in.telnetd
  log_on_failure += USERID
  disable = no
}
EOF

修改端口:vim /etc/services 中telnet的端口号 #22已经被占用
systemctl enable xinetd
chkconfig --list 2> /dev/null |grep telnet
systemctl enable xinetd
systemctl start xinetd
systemctl status xinetd
netstat -tnlp |grep xin
telnet $ip $端口号 测试验证没问题,验证没问题后,直接登录

4、安装
	openssl:
		yum install perl-IPC-Cmd perl-CPAN
		wget --no-check-certificate https://www.openssl.org/source/openssl-3.2.0.tar.gz
		./config --prefix=/usr/local/openssl shared
		make && make install 
		ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib/
		ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib/
	zlib:
		yum install  zlib-devel
		wget --no-check-certificate http://www.zlib.net/zlib-1.3.1.tar.gz
		./configure --prefix=/usr/local/zlib
		make && make install
	openssh 
		wget --no-check-certificate https://mirrors.aliyun.com/pub/OpenBSD/OpenSSH/portable/openssh-9.5p1.tar.gz
		killall sshd #kill进程 
		for i in `rpm -qa |grep openssh`;do rpm -e --nodeps $i ;done #卸载旧包
		
		./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh  --with-ssl-dir=/usr/local/openssl --with-zlib-dir=/usr/local/zlib --without-openssl-header-check
		make -j4 && make install 
		chmod -R 755 /usr/local/
		echo 'export PATH=$PATH:/usr/local/openssh/bin:/usr/local/openssl/bin/' >> /etc/profile
		
		修改 :/etc/ssh/sshd_config
			PermitRootLogin yes 
			PasswordAuthentication yes 
	hubSc@#ycops3
[root@tmp1 ~]# cat /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
#After=network.target sshd-keygen.target
#Wants=sshd-keygen.target
After=network.target

[Service]
Type=notify
#EnvironmentFile=-/etc/sysconfig/sshd
ExecStart=/usr/local/openssh/sbin/sshd -D $OPTIONS 
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

5、启动服务
systemctl enable sshd 
systemctl start sshd 
systemctl status sshd 



6、同机型主机直接打包编译后的内容,直接用就可以
tar zcvf /root/openssh/9.5.tar.gz /usr/local/openssh /usr/local/openssl /usr/local/zlib /etc/ssh/sshd_config  /usr/lib/systemd/system/sshd.service

传递后解压到相同目录:
killall sshd #kill进程 
for i in `rpm -qa |grep openssh`;do rpm -e --nodeps $i ;done #卸载旧包
ln -s /usr/local/openssl/lib64/libssl.so.3 /usr/lib/
ln -s /usr/local/openssl/lib64/libcrypto.so.3 /usr/lib/
chmod -R 755 /usr/local/
echo 'export PATH=$PATH:/usr/local/openssh/bin:/usr/local/openssl/bin/' >> /etc/profile
cp etc/ssh/sshd_config /etc/ssh/
cp usr/lib/systemd/system/sshd.service /usr/lib/systemd/system/
systemctl enable sshd 
systemctl start sshd 
systemctl status sshd 


7、检查
1)sshd -V #确认安装后的版本是新的
OpenSSH_9.5p1, OpenSSL 1.1.1g FIPS  21 Apr 2020
2)用密码和密钥尝试登录正常登录
3)ps -ef |grep sshd 确认sshd为新的
4)ssh服务报错:/usr/lib64/security/pam_tally2.so
ln -sv /usr/lib64/security/pam_faillock.so /usr/lib64/security/pam_tally2.so
5)如果执行systemctl start sshd.service 卡住:注释掉 Type=notify 后可以正常
原因:sshd在启动后,没有返回消息给systemd,导致systemd一直等待
yum install systemd-devel #需要新增头文件
vi sshd.c #有两处修改内容如下:
#include <systemd/sd-daemon.h> #在前面添加
	sd_notify(0, "READY=1");
	/* Accept a connection and return in a forked child */
	server_accept_loop(&sock_in, &sock_out, #找到这一行,在他的前面添加一样 "sd_notify(0, "READY=1");"
		&newsock, config_s);
vi MakeFile 
LIBS=-lcrypto -ldl -lutil -lz -lcrypt -lresolv -lsystemd
#注意make clean
6)如果提示 libcrypto.so.3: cannot open shared object file
echo '/usr/local/openssl/lib64' >> /etc/ld.so.conf && ldconfig 
7)根据systemctl status sshd中提示的错误信息进行处理

标签:sshd,--,openssh,openssl,升级,usr,9.5,local
From: https://www.cnblogs.com/hmtk123/p/18056935

相关文章

  • Centos5 源码升级sshd
      1.下载源码包#openssh下载地址http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz#openssl下载地址https://www.openssl.org/source/old/0.9.x/openssl-0.9.8t.tar.gz2.编译安装openssl#需要修改Makefile在CFLAG项中加入-fPIC......
  • 麒麟V10 openssh9.6p1 rpm包制作
    1、下载源码包https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.6p1.tar.gz  2、解压,并从中得到openssh.spec路径 .\openssh-9.6p1\contrib\redhat\openssh.spec 3、如果要添加ssh-copy-id命令添加如下命令 #280行新增install-m755contrib......
  • Ubuntu 20 手动编译安装 OpenSSH 9.6p1(最新版)
    升级系统apt-getupdate&&apt-get--fix-brokeninstall&&apt-getautoremove安装telnet服务端在root下安装aptinstallxinetd&&apt-getinstallopenbsd-inetdtelnetdtelnet-y启动服务/etc/init.d/openbsd-inetdrestart查看服务是否启动netstat-an......
  • linux 升级内核
    目录linux升级内核CentOS7.x系统自带的3.10.x内核存在一些Bugs.导致运行的Docker.Kubernetes不稳定。导入ELRepo仓库的公共密钥安装ELRepo仓库的yum源可以看到5.4和5.12两个版本(lt为长期支持版;ml:(mainline)主线的意思,当前主推)如果要安装5.4的就执行:yum--enablerepo=elrepo-......
  • 鸿蒙开发游戏(四)---大鱼吃小鱼(互吃升级)
    鸿蒙开发游戏(一)---大鱼吃小鱼(界面部署)鸿蒙开发游戏(二)---大鱼吃小鱼(摇杆控制)鸿蒙开发游戏(三)---大鱼吃小鱼(放置NPC)鸿蒙开发游戏(四)---大鱼吃小鱼(互吃升级)鸿蒙开发游戏(五)---大鱼吃小鱼(添加音效)鸿蒙开发游戏(六)---大鱼吃小鱼(称霸海洋) 前言:该篇对NPC进行了升级,这里可以投入多个......
  • 【HMS Core】关于应用内支付密钥升级问题
    ​【问题描述】相信最近大家都收到了关于应用内支付密钥升级的邮件,今天集中解答一下大家比较关心的问题​ 【解决方案】1、如果您的应用已经集成了应用内支付SDK,建议可以按照通知升级一下应用内支付密钥,如果没有集成并使用应用内支付的能力的话,那就不需要进行相关处理,忽略邮......
  • 升级centos7内核版本
    先查看当前内核版本~]#uname-aLinuxlocalhost.localdomain3.10.0-1160.el7.x86_64#1SMPMonOct1916:18:59UTC2020x86_64x86_64x86_64GNU/Linux查看系统grub内核启动列表~]#awk-F\''$1=="menuentry"{printi++":"$2}'/etc/grub2......
  • 智能升级:AntSK教你如何让聊天机器人实现智能联网操作
        随着人工智能技术的飞速发展,智能体已经逐步融入到我们的日常生活中。不过,要想让智能体不仅能聊天,还能接入网络实时获取信息,为我们提供更多便利,所需技术的复杂性不得不让人瞩目。今天,我将和各位分享如何在基于.NET开发的AI知识库/智能体项目AntSK中,利用SemanticKernel......
  • Net7升级到Net8相关问题
    除了按照网上常规Net8升级步骤外,编译和运行都会发生一些异常和错误,代码兼容性根据提示倒是可以修改。倒是运行时错误,网上资料比较少,下面会持续登记升级过程中踩的坑:1. MediatR库升级到最新的12.2后,报错各种服务找不到,实际是没有DI实现:原来注册一般这么写:1services.AddMedia......
  • ubuntu22.04升级到23.04
    ubuntu22.04升级到23.04ubuntu一、更新22.04先对现有的22.04的系统进行更新,得到最新的22.04版。1.设置软件更新打开“软件和更新”,转到“更新”选项卡。选择“有新版本时通知我”并将其更改为“适用任何新版本”.这将告诉包管理器查找Ubuntu23.04发布详细信息。......